Skip to main content

Full text of "PC Tech Journal Volume 04 Number 05"

See other formats


14024 ,, 14357 1 


VOL. 4, No. 5 $3-95 



DIGITIZING ANALOG DATA 

Data Acquisition Boards 


DATA MANAGER: dBASE III PLUS 


BREAKING THE 32-MEGABYTE BARRIER 




































Then one day a 


: a time 

Tall Tree Systems introduced a 2MB 
memory board called JRAM-2. It broke the 
and offered 


I/O modules, a warm re- 


data saver, and high speed 

low and it worked like 


switching at an incredibly 


software company and a 


hardware 


company discovered then' 


and issued 


an edict for a* 


EMS. In no time at all 


?-• V --V. 



~ 8RMX 


] 

■ 



Tall Tree Systems introduced JRAM-3 
which usedthe-#™!^ EMS. It still 
has the , the warm re- V 
switching and the low' 


, 


but now it can j||f multi-user and multi-tasking 
programs. Best of all it has a new '^p^called JLASER 
It lets your HP Laserjet™ or other laser printer 


based on the Canon 


TM 




do full page graphics and custom 


typesetting just like K' 

tZTfjc Cnb 


Tall Tree Systems 

1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980 



JRAM-3 

Rampage™ 

AboveBoard™ 

j JLASER 

/ 



i re ~^# 

/ 



& 

/ 

/ 


a 

/ 

/ 


$ 

269 

495 

395 1 


Canon, AST 
Research Inc., 
and Intel Corp., 
respectively. 


The text and icons on this page were created on a Composition Technology International PageScan System 
using a Tall Tree JRAM-3 board and was output on a Corona Laser Printer. 


” f 


CIRCLE NO. 197 ON READER SERVICE CARD 

































































ZIM 25 A DBMS REVOLUTION 



Have you been looking for perfect data management that you can 
enjoy on your own terms? Then you've probably already heard of 
ZIM 2.4 — the most powerful database system available. Until now. 
Because ZIM 2.5 is here. 


ZIM 2.5 is a fourth generation application development tool which 
makes it possible to expand the capabilities of your micro beyond 
what you've ever imagined. ZIM mirrors the complexities of the 
real world by letting you develop as many and as varied 
applications as you could possibly need. 


"ZIM is... a successful migration of mainframe ideas and needs to a 
micro. (ZIM) proves not only that the job can be done but also that 
it can be done well. ZIM provides a reference against which current 
and future data bases can be judged. " James Creane, Data Based 
Advisor/July 1985. 


Speed 

ZIM breaks the speed limit — between 3 and 50 times faster than 
industry leaders in sorting and joining files within the data-base. 
ZIM's internal architecture, and the implementation of its strategy 
analyzer and priority-driven buffering ability, ensure that data is 
processed in the most efficient manner possible. 


Portability 

ZIM is the only database management system with 100% 
application portability for single-user and multi-user 
configurations. ZIM is available under PC-DOS, 
Concurrent PC-DOS, UNIX, XENIX, and QNX. 

Never again will you be required to re-write 
your applications for different operating 
environments. 


Power 

ZIM's high-level language lets you build user commands which 
implement applications without the necessity and cost of additional 
programming tools. ZIM's forms facility and extensive report 
generator permit completely menu-driven applications. Completed 
compiled, applications use the Runtime System, leading to fast 
execution, preventing unauthorized access or modifications, and 
decreasing cost and memory requirements. 

Flexibility 

ZIM gives you unprecedented simplicity and flexibility. ZIM 
commands parallel simple English sentences, making it easy to 
learn and use. Other features include automatic updates of all 
indexes, multi-user support, and an extensive range of validation, 
editing and masking facilities. ZIM's limits are only those of your 
hardware, operating system and imagination. And with ZIM 2.5, 
your database is no longer limited to a single hard disk. 


"ZIM is (a) well-conceivedsoundly-implemented , 
thoroughly professional system. Its design evidences a 
strong commitment to consistency and to the goal 
of natural nonprocedural user interaction ." 

Richard M. Foard, PC Tech Journal, 
October 1985. 


ZIM 2.5 — DATA 
MANAGEMENT AT 
ITS BEST 


See us at 
COMDEX/Spring 
Booth # 4432 


Dr., Suite 1200 
Ontario, Canada 
K2E 7V2 
(613) 727-1397 


ZAKTHE 


INFORMATION INC 
CIRCLE NO. 148 ON READER SERVICE CARD 



















If lightning still scares you, 
you're using the wrong file manager. 



Be sure. Btrieve.® 


Lightning may strike. But it doesn't 
have to destroy your database. 

Btrieve® file management offers au¬ 
tomatic file recovery after a system 
crash. So accidents and power failures 
don't turn into database disasters. Your 
Btrieve-based applications will come up 
when the lights come back on. 

Fast. Btrieve is lightning fast, too. Its 
b-tree file structure automatically 
balances—you never waste time reor¬ 
ganizing the index. And Btrieve is writ¬ 
ten in Assembly language especially for 
the IBM PC. The result: electrifying 
speed on file maintenance routines. 
Applications that run fast. Users who 
don't waste time waiting. 

The standard for networking. When 
your application requires multi-user file 
sharing, Btrieve IN (network version) 
sets the standard for the industry's 
most popular LANs: IBM's PC Net¬ 
work, Netware, PC Net and EtherSer- 
ies. And now Btrieve sets the standard 
for multi-user systems: XENIX, Multi- 


Link Advanced and others. Btrieve/N 
offers safe network file management 
that coordinates simultaneous updates 
and protects against lost data. 

Fully-relational data management. 
Using SoftCraft's entire family of 
products gives you a complete, fully- 
relational database management sys¬ 
tem. Rtrieve™ adds report writing 
capabilities for generating the reports 
you need. Xtrieve™ speeds users 
through database queries with interac¬ 
tive, on-screen menus—no command 
language or special syntax. 

For professional programmers. 

Btrieve is the fast, reliable answer for 
all your application development. In 
any development language—BASIC, 
Pascal, COBOL, C, FORTRAN and 
APL. With multikey access to records. 
Unlimited records per file. Duplicate, 
modifiable, and segmented keys. 

With Btrieve, you can develop better 
applications faster. And know they'll be 
safe if lightning strikes. 


NO ROYALTIES 


Suggested retail prices: Btrieve, $245; 
Btrieve/N, $595; Xtrieve, $195; 
Xtrieve/N, $395; Rtrieve, $85; 
Rtrieve/N, $175. Requires PC-DOS or 
MS-DOS l.X, 2.X, or 3.X. 


Btrieve is a registered trademark and Xtrieve and 
Rtrieve are trademarks of SoftCraft Inc. 



SoftCraft Inc. 

P.O. Box 9802 #917 
Austin, Texas 78766 
(512) 346-8380 Telex 358 200 


CIRCLE NO. 201 ON READER SERVICE CARD 









DIGITIZING ANALOG DATA / ERIC M. MILLER 

The physical world of continuous data is such that measurement systems must be tailored for specific applications. A review of 
several analog data acquisition boards that fit in the PC helps to guide users in their selection of the appropriate board. 

52 

THE PORTABLE APPROACH / RICHARD M. FOARD 

The series on realtime systems continues with a look at Hunter & Ready’s VRTX, a product that emphasizes portability. Within a 
processor group VRTX’s various modules are portable, and across processor families its interfaces are identical. 

74 

BREAKING THE 32-MEGABYTE BARRIER / THOMAS V. HOFFMANN 

The maximum capacity for each volume on a hard disk was long accepted as 32 megabytes. This is no longer the case. Large disk 
systems now allow a volume to be as big as available disk space. Seven systems, ranging from 55MB to 150MB, are tested. 

94 

FINDING DISK PARAMETERS / GLENN F. ROBERTS 

DOS says less than it knows about low-level disk information. With the help of some documented and undocumented functions, 
this information can be found. Two utilities, SHOW and INFO, allow users to explore DOS disk parameters and directories. 

112 

THE STATE OF C INTERPRETERS / MARTY FRANZ 

While not yet up to the program development capabilities of compilers, C interpreters offer a level of performance that makes 
them useful as prototyping and learning tools. C-terp, Instant-C, Introducing C, and Run/C are^tested for power and performance. 153 

A DATA MANAGER: THE EVOLVING STANDARD / DAVE BROWNING 

A product carrying the dBASE name has a long history to uphold. AshtonTate’s latest addition, dBASE III PLUS, maintains the 
family name by adding a number of improvements to the basic mold. It is not revolutionary, but evolutionary in design. 

166 


11 

30 

201 

216 

DIRECTIONS 

TECH RELEASES 

PRODUCT WATCH 

TECH MART 

Programmer Productivity 

47 

207 

219 

17 

TECH NOTEBOOK 

LEGAL BRIEF 

CALENDAR 

LETTERS 

Bit Rotation Speeds 

Software Goods or Services? 

221 

29 

191 

209 

READER SERVICE CARD 

PRODUCT OF 

PROGRAMMING PRACTICES 

TECH BOOK 


THE MONTH 

Matching Regular 



The Softstrip System 

Expressions 




Cover illustration • John Lei; special thanks to Sy>nc Sound 




























PRODUCTIVITY 

TOOLS 

From Opt-Tech Data Processing 


Opt-Tech Sort™ ‘'sfc 

ALL NEW Version 3.0 features even faster sorting, 
record selection, output record reformatting, 
dBASE III files, comma delimited fields, and much 
more. This high performance sort/merge/record 
selection utility can be used as a stand-alone program 
or called as a subroutine from most languages. 

Supports unlimited filesizes, multiple input files and 
fixed or variable length records. Many special file types 
are supported including Btrieve and dBASE. Up to 
nine sort control fields (ascending or descending), all 
common data types supported. Output files can be 
combinations of full records, keys or pointers, subsets 
of the input file fields, and literal values. 

Written in assembly language for high performance. 
Example: 4,000 128 byte records sorted to give key 
and pointer in 30 seconds. $149. 


On-Line Help™ 

A comprehensive utility for adding help windows to 
your programs. It provides efficient utilities and 
routines for interfacing your programs with the help 
system routines and help message libraries. 

Help windows are displayed in a fraction of a second. 
You have total control over the contents of the window, 
its size and its position on the screen, including the 
display and border colors. 

On-Line Help can be interfaced with interpreted Basic 
and all popular compilers. $149. 


Scroll & Recall™ 

Allows you to conveniently scroll back through data 
that has gone off the top of your display screen. Up to 
27 screens of data can be recalled or written to a disk 
file (great for documenting systems operations). 

Allows you to easily recall and edit your previously 
entered DOS commands and data lines without re¬ 
typing. 

Scroll & Recall is very easy to use. It’s a resident utility 
that’s always there when you need it! $69. 


All programs IBM PC/XT/AT & MS-DOS compatible. 

Visa, M/C, AMEX, Check, Money Order, COD 
or Purchase Orders accepted. 

Quantity and Dealer Discounts Available 

To order or to receive additional 
information write or call: 



Opt-Tech Data Processing 

P.O. Box 678 - Zephyr Cove, NV 89448 
(702) 588-3737 





VOL. 4, NO. 5 


PUBLISHER: Newton Barrett 
EDITOR: Will Fastie 


EDITORIAL 

MANAGING EDITOR: Marjory Spraycar 
EXECUTIVE EDITOR: Julie Anderson 
TECHNICAL EDITORS: Jeff Duntemann, Caroline Halliday 
ASSOCIATE TECHNICAL EDITOR: Dan Beale 
SENIOR COPY EDITOR: Susan Holly 
COPY EDITOR: Gail Shaffer 
PROOFREADER: Kathleen Peddicord 
NEW PRODUCTS EDITOR: Carole Autenzio 
ADMINISTRATIVE ASSISTANT: Diana Carey 
CONSULTING EDITORS: Thomas V. Hoffmann, Richard M. Foard 
CONTRIBUTING EDITORS: Steven Armbrust, Don Await, Michael 
Covington, Ted Forgeron, Augie Hansen, Ted Mirecki, Max Stul 
Oppenheimer _ 

ART & PRODUCTION 

ART DIRECTOR: Ina Saltz 
ASSOCIATE ART DIRECTOR: Sharon Reuter 
ASSISTANT ART DIRECTOR: Sandra Ray 
ART SECRETARY: Sabrina Reynolds 

ADVERTISING PRODUCTION MANAGER: Lisa Franey Ducey 

EDITORIAL PRODUCTION COORDINATOR: Eve Hinderer _ 

ADVERTISING SALES 

ADVERTISING DIRECTOR: Rita Burke 
MARKETING COORDINATOR: Julie Henderson 
ADVERTISING COORDINATOR: Michele Fischetti 

DISTRICT MANAGERS: Rosemarie Caruso, Jan Schultz—East Coast; Ted 
Bahr, Bill Bush, Phyllis Egan—West Coast 
ACCOUNT REPRESENTATIVES: Pat Toohey, Jane Anderson—East Coast; 
Arlene Braithwaite—Midwest; Pam Sigal, Jane Anderson—West Coast 

CIRCULATION 

CIRCULATION MANAGER: Charles Mast 
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig 
MEDIA MANAGER: Melinda Kendall 

ZIFF-DAVIS PUBLISHING COMPANY 

PRESIDENT: Kenneth H. Koppel 

SENIOR VICE PRESIDENT, Marketing: Paul Chook 

VICE PRESIDENT, Operations: Baird Davis 

VICE PRESIDENT, Controller: John Vlachos 

VICE PRESIDENT, Creative Services: Herbert Stem 

VICE PRESIDENT, Circulation: Alicia Marie Ivans 

VICE PRESIDENT, Circulation Services: James Ramaley 

VICE PRESIDENT, Marketing Services: Ann Poliak Adelman 

VICE PRESIDENT, Development: Seth Alpert 

VICE PRESIDENT: Hugh Tietjen 

BUSINESS MANAGER: Gary* A Gustafson 

PRODUCTION DIRECTOR: Walter J. Terlecki 

ZIFF COMMUNICATIONS COMPANY 

PRESIDENT: Philip B. Korsant; EXECUTIVE VICE PRESIDENT: James D. Dunning, Jr.; 
SENIOR VICE PRESIDENTS: Philip Sine, Kenneth H. Koppel; VICE PRESIDENTS: Laurence 
Usdin, William L. Phillips, J. Malcolm Morris, Steven C. Feinman; TREASURER: Selwyn Taub- 
man ; SECRETARY: Bertram A Abrams 

EDITORIAL OFFICE 

PC TECH JOURNAL, The World Trade Center, Suite 211, Baltimore, MD 21202. 
301/576-0770. FAX (group 3): 301/576-9603. MCIMail: PCTECH. PCTECHline: 
301/576-PCIJ. Telex: 6502565932 MCI._ 

ADVERTISING OFFICES 

(East Coast I Midwest) One Park Ave., New York, NY 10016. 2121503-5185. 
(West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100, 

11 Davis Drive, Belmont, CA 94002. 415/598-2290. 

SUBSCRIPTION INQUIRIES 

PC TECH JOURNAL, P.O. Box 2968, Boulder, CO 80321. Subscription service: 
800/525-0643, 303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to 
Ziff-Davis Publishing, One Park Ave., 4th floor, New York, NY 10016. 

PC TECH JOURNAL (ISSN 0738-0194) is published monthly, $29.97 for one year, $52.97 for 
two years, $69.97 for three years. Additional postage $6 for Canada & Foreign by Ziff-Davis 
Publishing Company, One Park Avenue, New York, NY 10016. Second-Class Postage paid at 
New York, NY and at additional mailing offices. POSTMASTER: Send address changes or 
subscription inquiries to P.O. Box 2968, Boulder, CO 80321. 

PC TECH JOURNAL is an independent journal, not affiliated in any way with International 
Business Machines Corporation. IBM is a registered trademark of International Business 
Machines Corp. Entire contents Copyright ° 1986 Ziff-Davis Publishing Company. All rights 
reserved; reproduction in whole or in part without permission is prohibited. Direct written 
requests to jean Lamensdorf, Licensing Manager, Reprints/Rights & Permissions, One Park 
Avenue, New York, NY 10016. 



nn' 



2 


TUT 


n 

OURNAL 


CIRCLE NO. 222 ON READER SERVICE CARD 


































Periscope Delivers 
Professional Debugging Power 



5VX - 


GET YOUR PROGRAMS 
WORKING FAST 

"It works, and works well!! In the first day of use I 
finished up two weeks of problems!!" 

—Peter Loats 

Periscope is "Always there with just a 
push of the button". Whenever some¬ 
thing unexpected happens, just press 
the break-out switch and Presto! Peri¬ 
scope's debugging power is at your 
command. You can check out the prob¬ 
lem right away. 

Periscope uses names—symbols—from 
your program so you don't have to 
remember addresses. It displays source 
code and line numbers from high-level 
languages, too. You save hours of time 
because you access what you need with 
familiar names! 

Periscope's unique breakpoints force 
bugs out from where they hide. With 
over 75 breakpoint options, including 
the ability to write your own break¬ 
point tests, you'll find those elusive 
bugs fast! 

MAKE YOUR SOFTWARE 
RELIABLE 

"1 can't live without it!! BRIEF, a text editor my 
company wrote, would not be as stable as it is 
today without Periscope." —David Nanian 

With Periscope's broad range of capabil¬ 
ities, you can thoroughly debug your 
software, giving it the reliability it 
needs. 

One user says that Periscope is a 
"superbly engineered product" with 
"virtually every feature possible!" 

Here's a sampling of the features: 

• See procedure and variable names 
PLUS source code and line numbers 
from high-level languages! 

• Symbolic In-line Assembler 

• 75+ Breakpoint Options—including 
breakpoints on reads/writes to 
memory and I/O ports! 

• Traceback—see up to 2,016 previous 
instructions! 

• Optional Windows—change them 
while debugging! 

• Optional On-line Help 

• Single/Dual-Monitor Support — 
great for debugging screen-intensive 
programs! 

• View Text Files 

• User Exits—customize Periscope 
with your own programs! 

• 8087/80287 Status 

• Display memory in most any format 



The break-out switch gives you what one user 
calls "spontaneity of debugging". Press it any¬ 
time to stop the executing program and see 
what's going on. The switch is so handy you'll 
want to use it to learn more about your PC! 

DEBUG PROGRAMS OTHER 
DEBUGGERS CANT 

"Periscope has changed my programming life 
and is truly unique among PC debuggers . . . [it] 
enables me to debug keyboard routines, device 
drivers . . . without errors. Periscope is rock 
solid." —Doug Roberts 

Debug memory-resident and non-DOS 
programs, device-drivers, keyboard 
handlers, and interrupt-driven pro¬ 
grams. Recover when your system 
hangs or your keyboard locks up. Safely 
check out what's going on in your sys¬ 
tem anytime. Debug when DOS is not 
working, debug DOS. 

If your bugs can be found with a soft¬ 
ware debugger, Periscope can track 
them down! (We've heard that a com¬ 
petitor uses Periscope to debug his 
debugger.) 

GET THE BEST VALUE! 

"[Periscope is]the best value in development tools 
currently on the market." —Jeff Garbers 

Time and again users tell us Periscope is 
underpriced. They tell us it pays for 
itself in a matter of hours after they 
begin using it. This means no profes¬ 
sional software developer can afford 
NOT to try it! 

Periscope I: Board, Switch, Software, 
Manual, Reference Card ... .Just $295 

Periscope II: Switch, Software, Manual, 
Reference Card.Only $145 


HOW TO DECIDE BETWEEN 
PERISCOPE I & PERISCOPE II 

MEMORY BOARD 

The key difference between Periscope I 
and Periscope II is the 'Submarine' board 
included with the Periscope I package. 
When you install Periscope I, crucial 
debugger software loads into the board's 
memory, which is then write-protected. 
You don't have to worry about a run¬ 
away program destroying it! Periscope II 
loads into low memory. 

BREAK-OUT SWITCH 

The break-out switch included with 
either model of Periscope enables you to 
debug anytime, even if your system is 
hung. The Periscope II switch taps into 
an already-in-use slot, so you don't need 
a spare slot to install it. The Periscope I 
switch plugs into the back of the 'Sub¬ 
marine' board, which requires a slot. 

WHICH MODEL DO YOU NEED? 

If your program writes to memory 
below itself, you need Periscope I's pro¬ 
tected memory to make sure crucial 
debugger software isn't overwritten. 
Other than the protected memory, Peri¬ 
scope I and Periscope II are functionally 
the same debugger! 

If you're not sure which model you need, 
call for details on our trade-up policy. 
You can buy Periscope II, then trade it in 
for Periscope I later if you decide you 
need the protected memory. 


Periscope requires: An IBM PC, XT, AT 
or close compatible; DOS 2.0 or later; 
128K RAM; one Disk Drive; and an 80- 
column Monitor 

Don't wait, order YOUR Periscope 
today! 

For Immediate Shipment Or More 
Information, Call Toll-Free 

EB 800-722-7006 S 


30-Day Money-Back Guarantee! 

Shipping-UPS ground $2.50. Air Mail $8 
U.S./Canada, $24 elsewhere. We accept 
PO's and COD's in the U.S. 

Get Your Programs Up and Running; 

UP PERISCOPE! 

Data Base Decisions 
14 Bonnie Lane 
Atlanta, GA 30328 
404/256-3860 


CIRCLE NO. 215 ON READER SERVICE CARD 


















LAN REPORT 4 


Choosing a LAN System. 

New Report Outlines Steps For LAN Evaluation. 


Choosing the best local area net¬ 
work hardware for your particular 
installation is often a bewildering 
process. There are many options 
and few evaluation tools. 

A new report developed 
by Novell, Inc., is designed 
to offer help. The study, 

LAN Evaluation Report 
1986, examines all of the 
hardware issues that affect 
LAN performance. It in¬ 
cludes an analysis of many 
LAN products and a series 
of benchmark tests. 

A key element of the study is 
the addition of an evaluation 
system. The system provides 
a mechanism for matching 
site needs to specific hard¬ 
ware. Whether a new net¬ 
work is being planned or an 
existing site is being up¬ 
graded, the study will be useful in 
the performance evaluation of any 
proposed network. As a network 
operating system developer and 
system reseller, Novell has experi¬ 
ence with LAN products from sys¬ 
tem support through installation 
and day-to-day operation. Novell's 
NetWare® network operating sys¬ 
tem supports 30 different LAN con¬ 
figurations including the NETBIOS- 
compatible LANs. Information in 
the LAN Evaluation Report 1986 is 
based on that experience. 

LAN Hardware Choices. 

LANs are highly modularized 
architectures. The rich assortment 
of available LAN components 


provides flexible building blocks 
with which to customize networks. 

System planning starts with the 
LAN hardware: the network inter¬ 
face card (NIC) and cabling. Per¬ 


"The LAN Evaluation 
Report 1986 includes an 
analysis of many 
LAN products as well 
as a series of 
benchmark tests." 


sonal computers and other 
machines are attached to a LAN 
by plugging the NIC into the PC 
expansion bus and attaching the 
LAN cable to the NIC. 

LAN hardware systems analyzed 
in the study are: 

• AT&T StarLAN 

• Corvus Omninet 

• Davong MultiLink 

• Gateway G-Net 

• IBM PC Network 

• Interactive Systems LAN/PC 
•Nestar PLAN 2000 

• Novell S-Net 

• Proteon ProNET 

•Standard Microsystems ARCNET 
•3Com EtherLink 
•3Com EtherLink Plus 


The IBM Token Ring Network is 
also analyzed; however production 
NICs were not available at the time 
the report was written and could 
not be included in the benchmark 
tests. 

The report analyzes each 
NIC according to its access 
scheme, raw bit rate, on¬ 
board processing, and 
NIC-to-host transfer 
method. 

NICs divide information 
into message units called 
packets, transmit the 
packets at a certain speed, 
and manage the trans¬ 
mission and receipt of 
those packets. In other 
words, NICs implement a 
hardware protocol. 

One of the points made in 
the analysis and benchmarks is 
that the way a protocol is im¬ 
plemented is often more significant 
to performance than the protocol 
itself. Many LAN vendors are ac¬ 
tively modifying their NIC designs 
to improve performance without 
any change in the basic protocol. 

Network Servers. 

The network server manages all 
network requests and data storage 
functions. Because of this, the 
server plays a key role in LAN per¬ 
formance. 

Servers come in many different 
configurations and designs. Some 
are proprietary boxes that were 







LAN REPORT 4 


specifically designed as servers. 
Others are personal computers 
that are functioning as servers. 

The LAN Evaluation Report 1986 
analyzes and tests the following 
servers: 

• IBM PC XT 

• IBM PC AT 

• Novell S-Net 

• 3Com 3Server 

• Novell 286A and 286B 

Processor type is the most obvious 
difference among these 
machines. They use the 
Intel 8088, Intel 80186, 

Intel 80286 or Motorola 
MC68000. But other fac¬ 
tors are also important in 
determining server perfor¬ 
mance, including proces¬ 
sor clock cycle speed, wait 
states, server memory 
cycle speed, memory 
channel, and transfer bus 
channel. All of these factors 
determine the speed at 
which data is moved and 
processed. 


NetWare Evaluation System. 

The LAN Evaluation Report 1986 
contains the NetWare Evaluation 
System. While benchmark measure¬ 
ments are part of the system, they 
are designed to be used only as 
input in the evaluation formula. 

The first of the two benchmarks is a 
measurement of maximum through¬ 
put for a LAN/server combination 
with a single workstation. 

The second shows the maximum 
working bandwidth for a fully 


"The NetWare 
Evaluation System provides 
an excellent method of 
LAN performance 
comparison." 


results and site profile are applied 
to a formula which shows the 
throughput of the proposed system. 

Answers generated by the formula 
provide several useful pieces of 
information. The results from the 
formula should be approximately 
the same as the maximum 
throughput in a single station test. 

If the working bandwidth of the 
proposed system is much greater 
than the single station throughput, 
this indicates that the LAN/server 
combination has more 
powerthan can be utilized 
by the proposed network. 
If the working bandwidth is 
much lowerthan the single 
station throughput, it indi¬ 
cates that the LAN/server 
combination will be over¬ 
burdened. 


One of the jobs that a 
server handles is sending 
data to and from the hard disk. The 
speed of the server cannot alter the 
speed of the disk channel. If a disk 
channel can handle reads at 160 
kilobytes per second, a faster pro¬ 
cessor isn't going to change that 
figure. 

A faster server, however, can 
change the percentage of proces¬ 
sor utilization for specific servers. 
High-performance servers use less 
of the processor's time for specific 
operations, freeing the processor to 
perform other tasks. The result is 
increased performance. 


loaded network. In this test, six IBM 
PC AT workstations were attached 
to the various LAN/server combi¬ 
nations. The network was driven to 
its maximum traffic capability. 
Throughput results from all stations 
were totaled to show the maximum 
bandwidth of each network. 

A formula for workstation usage is 
then developed based on specific 
values for a particular site. Five 
categories of network users are 
defined and used in establishing 
this site profile. 

As a final step, the benchmark 


The evaluation system also 
provides a method of 
performance comparison. 
Desired performance is 
usually expressed in terms 
of floppy or hard disk 
speed. The study contains 
data on the standalone 
workstation performance 
of the IBM PC AT and XT with both 
floppy and hard disks. Using these 
figures, the formula's results can be 
compared to desired throughput. 

Read the Full Report. 

The LAN Evaluation Report 1986 is 
available free of charge from 
Novell. To obtain a copy, call 
or write Novell Corporate 
Communications, 748 North 
1340 West, Orem, Utah 84057, 
(801)226-8202. 


NOVELL 


ss 



CIRCLE NO. 166 ON READER SERVICE CARD 







HAVE YOU STRIPPED YET? 





\ z 


h 



Its a question more and more PC owners are asking. And no wonder. What 
everyone is talking about is Softstrip™. The revolutionary technology that is 
changing the shape of computer software. 

The Cauzin Softstrip System is more than just software or data on paper. 
Because when you invest in this system, you can do much more with your 
computer, and for far less than you are probably spending now. You can even 
create and print out your own data strips using a dot matrix printer and a 
special Strip Ware™ program .called “STRIPPER” that’s only $19.95. 

But that’s only the beginning of an offer that’s going to make you wonder 
why you haven’t stripped yet... 


TAKE OUR ADS (SUCH AS THIS ONE) 

It’s part of our expanding StripWare™ Library containing programs, data, 
art, spreadsheet, macros and templates. The Library features a variety of 
software applications and you’ll find new material appearing each month in 
such leading computer magazines. 

When you invest in the Softstrip System, you get the Softstrip reader, a 
special storage base, and a full one-year replacement warranty. Also included 
with your purchase is a complete Accessory Kit for your PC containing 
connector cables and communications software to link your computer to the 
reader. 

In addition, you’ll find a StripWare Sampler with 48 programs from a 
line-up of popular authors and publishers that includes Addison-Wesley, David 
Ahl, Family Computing, Tim Hartnell, Hayden Books, PC Tech Journal, 
Osborne/McGraw-Hill, The Waite Group, and John Wiley & Sons. 

When you become a Softstrip reader owner, you also get a FREE one year 
StripWare Club membership with programs mailed to you monthly. You’ll 
even receive a FREE Cauzin Effect Newsletter filled with the latest updates 
and news about Softstrip developments. 

The Cauzin Softstrip System is just that, a complete system that opens up 
a new world of computer programs and data on paper. And it’s all yours for 
only $199.95! 

For the Softstrip System Dealer nearest you, (or if there isn’t one in your 
area, to order), call toll free: 1-800-533-7323 (in Connecticut: 203-573-0150) 


Cauzin Systems, Inc. 
835 South Main Street 
Waterbury, CT 06706 
























FILLING UP ON REGULAR 

The data strips on the right contain the REGULAR program, 
by Jon Forrest, which appears in the Programming Practices 
section (pp. 194) of this issue. REGULAR.COM is a text 
searching program that works just like the FIND.COM 
program supplied with your DOS. 

So why do you need another program? There’s one big 
difference between the two: REGULAR’S search string is a 
Regular Expression, not a DOS wildcard. Extremely powerful, 
the Regular Expression syntax is often used when writing 
compilers. 

Programmers will find this program to be remarkably useful. 
Search strings can be either highly detailed or extremely vague 
searches. Use it to search for syntax, items in parentheses, or 
all the words starting with capital “A” and ending with e. 

After you read in the data strips, refer to the article on page 
191 for more details and complete operating instructions. 

Reprinted with permission of PC TECH JOURNAL, a Ziff-Davis publication. 

© 1986 Ziff-Davis Publishing Company. All rights reserved. 


StripWare Library No. 259 


5 I 



CIRCLE 156 ON READER SERVICE CARD 




















































ATRON BUGBUSTERS 
GREASE BORLAND LIGHTNING 


‘‘If I were starting a software company again, from scratch, Atron’s AT PROBE ™ would be among my very first 
investments. Without Atron’s hardware-assisted, software debugging technology, the flash of Turbo Lightning™ 
would be a light-year away’.’ Philippe Kahn, President, Borland 



- 

Mu! ^ 
i dBa; , 

Symph 
Micrc i 
Micr< \ 
: PF$:\f|| 

* *Br.s ei 


ti w jm 
ocro Aii* 


H ProdutJ 

it * 

>C PairtL, 


HOW BORLAND 
DOES SO MUCH, 

SO WELL, SO FAST 

We asked Borland 
International president 
Philippe Kahn to share 
his secrets for rapidly 
taking a good idea and 
turning it into rock-solid 
reality. How does the 
Borland team do so 
much, so well, so fast? 

He begins, “I 
remember when Atron 
used the June 24, 1985 
Wall Street Journal chart 
of top-selling software in 
an ad!’ [Note: At that 
time, seven of the top ten 
software packages were 
created by Atron cus¬ 
tomers; it’s now now 
nine out of ten.] “Side- 
Kick was number four, 
and I let Atron quote me 
in saying that there 
wouldn’t have been a 
SideKick without 
Atron’s hardware- 
assisted debuggers. 

“You might say light¬ 
ning has literally struck 
again. Turbo Lightning 
made number four on 
SoftSel’s Hotlist within weeks of its introduction! And 
again, I say we couldn’t have done it without Atron 
debugging technology. 

“Cleverly written code is, by definition tight, recur¬ 
sive, and terribly complex’,’ he continues. “Without the 
ability to externally track the execution of this code, 
competent debugging becomes very nearly impossible!’ 

Concludes Philippe, “And after Turbo Lightning was 
solid and reliable, Atron tuning software turned our 
Probes into performance analyzers. How do you think we 
greased our lightning?” 

Philippe, along with a couple million or so of your 
satisfied customers, we say congratulations on yet 
another best-selling product. We can’t wait to see what 
awesomely useful technology will come shooting out of 
Borland International next. 


HOW BUGBUSTERS KEEP YOU FROM GETTING SLIMED 

The AT PROBE is a circuit board that 
plugs into your PC/AT. It has an 
umbilical which plugs into 
the 80287 socket and 
monitors all 80286 activity. 

Since AT PROBE can 
trace program execution in 
real time, and display the 
last 2048 memory cycles in 
symbolic or source-code 
form, you can easily answer 
the questions: “How did I 
get here?” and “What are 
those silly interrupts 
doing?” 

It can solve spooky 
debugging problems. 
Like finding where 
your program over¬ 
writes memory or I/O - 
impossible with soft¬ 
ware debuggers. 

You can even do 
source-level debugging 
in your favorite lan¬ 
guage, like C, Pascal or 
assembler. And after 
your application is 
debugged, the AT 
PROBE’s performance 
measurement software 
can isolate perfor¬ 
mance bottlenecks. 
Finally, the AT PROBE has its own 1-MByte of mem¬ 
ory. Hidden and write-protected. How else could you 
develop that really large program, where the symbol 
table would otherwise take up most of memory. 

LOOK AT IT THIS WAY. 

History shows that non-Atron customers don’t stand a 
very good chance of making the Top Ten list. Lightning 
really does have a way of striking twice! 

The PC PROBE™ is $1595 and the AT PROBE is 
$2495. So call Atron today. You can be busting some 
really scarey bugs tomorrow. And maybe, just like 
Borland, you can also bust some records. 

^iiiS i \\ 

THE DEBUGGER COMPANY 

20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900 


Copyright © 1985 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. SideKick™ and Turbo Lightning™ Borland International, Inc., Adv. by TRBA, 408/258-2708. 


5 

1 

1 119 A 

2 

4 : 

| 30 J 

3 

•"'3 

i 

4 

2 f 

'% | 

5 

5 7 

140 I 

6 

6 

45 | 

7 

7 

78 | 

8 

8 

134 j 

9 

9 

96 | 

10 

15 

2 j 

11 

12 

56 ! 

12 

10 

139 1 

13 

11 

138 

14 

13 

55 

15 

24 

7 

16 

— 

1 

17 

16 

17 

18 

18 

23 

19 

19 

36 

20 

20 

38 

21 

14 

17 

22 

26 

47 

23 

21 

33 

24 

— 

1 ’ 

25 

17 

! 22 

26 

22 

j 48 

27 

25 | 

j 134 

28 



29 

— 


30 


1 133 j 


ThinkT% 

PFSrRep; 

Words*, 

Word , - 

9 Mega% fi ; ..' 

4 R:Basew. ' ;nk J 
Helix 

Hayden^ feftstyx 1 

Micros^ ' 

Frame**,^ 
Microsoft 
SuperCc; 

pni^Msw 


1-2*3 • 'XUS- % 
Sidekick - Borijj 
dBase hi * ' / 
Mufftmata Mi 
PfS;FH« ft* 
Microsoft Wott 
Sympftecy • uj 
R;8m* 5CKMJ A 

Mii-rrV"*-"' * * 


Hot list 

r^lHnghmr^ program** we<-« , 

twmwJtmS* ***** 

ntBUSHKR OSUST 

l 1.2.3 • _... 

124 

_2 i*3j. _... 

_3 

1 \ i Asjtton Tate 

51 

W &*idc . /wdand 

' M ^International 

35 

L. ^Symphony |/&>tu* 

50 

Bp PFS; file . Srftware 
^ j/Tublishins: 

145 

f ~ Multimate Multimaie 
li International 

101 

Bk. iHlae; 5000 ||&roriffl 


. Microsoft 

83 

write SdHtvfire 

LS ™ 1/Publiahtit* 

101 1 

! 




CIRCLE NO. 203 ON READER SERVICE CARD 

























DIRECTIONS 


WILL FASTIE 


Programmer Productivity 

What are we doing for (or to) ourselves? 



R ecently, I’ve been programming. 

Yes, I admit it. Every once in a 
while, I set mechanical pencil to paper 
and keyboard to screen to build some¬ 
thing. Notwithstanding previous com¬ 
ments about not wanting to program 
(“Database Programs are Complex,” Di¬ 
rections, February 1984, p. 11), some¬ 
times a program is the only solution. 

My efforts of late have been varied. 
First I wrote about 1,000 lines of PAL 
(Paradox Applications Language) for last 
month’s data manager review. Then I 
added 400 lines of Turbo Pascal to 
enhance a 500-line program PC Tech 
Journal uses to prepare the camera- 
ready copy of our listings on a laser 
printer. Next was the conversion of a 
20-module C program (a game I once 
wrote) to the Microsoft C compiler as a 
test of C’s portability and to try some 
new debugging tools. I then slid back 
over to Turbo to modify a source file 
lister to produce reasonable hard copy, 
of the game program. 

In the meantime, I am immersed 
in other languages. Reviews of BASIC 
interpreters and compilers are in pro¬ 
gress. A review of Prolog implementa¬ 
tions was published in January (“Pro¬ 
gramming in Logic, Michael Covington, 
p. 145). Microsoft has released new ver¬ 
sions of just about everything, and we 
had to explore inter-language calling 
methodology, new debuggers, and 
COBOL tools. LISP and TI’s SCHEME 
have a heavy presence in the office at 
the moment. And last, but not least, I 
have been poring over PC Tech Jour¬ 
nal's recent research to see what our 
readers are doing with languages. 

So I am up to my armpits in C and 
Pascal and MASM and LINK and MAKE 
and SYMDEB and Periscope’s breakout 
button and David Schwaderer’s great C 
Wizard’s Programming Reference ; I am 
longing for a 20-MHz AT with a 50MB, 
5-ms disk, and I am taxing my family’s 
patience and my own longevity by ad¬ 
ding just one more function or fixing 


just one more bug at 2 a.m., all the 
while swilling Coke (Classic) and 
munching M&M’s and aurally inputting 
dangerous levels of rock ’n roll. 

This is exactly what I was doing 
when I became a professional program¬ 
mer in 1973. I am a bit more efficient 
now, and I know how to avoid many, 
many pitfalls, but the basic (no pun) 
work is unchanged. Code, edit, compile, 
link (except for Turbo), debug, and do 
it again—with tools that are fundamen¬ 
tally the same as 13 years ago. Sure, 
they are on a micro; some of them are 
inexpensive, and some are pretty neat. 
But / still have to balance BEGIN-ENDs 
or parentheses. / still have to observe 
tight syntax rules. / still have to develop 
strategies and algorithms for even the 
simplest of tasks. Most important, / still 
have to reduce the abstract problem to 
a set of instructions that, when com¬ 
plete, do not themselves bear much re¬ 
lationship to the original problem. 

We have arrived at a point when 
the tree of research in artificial intelli¬ 
gence may finally bear fruit for the end 
user. A number of packages now on the 
market, such as MDBS’s Guru and TI’s 
Personal Consultant, are tools for build¬ 
ing expert systems. Mass market interest 
in AI is growing and is bound to be 
spurred on by the availability of under- 
$100 products such as Turbo-Prolog 


and TI SCHEME; SCHEME, in particular, 
may increase the understanding of LISP 
as a prototyping language. 

So what do I want? I was struck by 
a remark made by Peter Gabel of Arity 
at the Personal Computer Forum in 
February (see sidebar on next page): 
Arity Prolog is built as an open system 
so that Prolog programs can be directly 
integrated with C, FORTRAN, Pascal, 
COBOL, or whatever. There are many 
places in programs where I would 
much rather state the rules than write 
procedural code. Why not let a program 
reason and infer at certain points and 
sequentially process at others? If I could 
do that, certain difficult sections of code 
could be handled in terms closer to the 
problem than the machine and with far 
less time and work on my part. 

But then, I thought, why program 
in the traditional way at all? Why 
couldn’t an expert programming assis¬ 
tant turn my rules and descriptions into 
programs? Why couldn’t it keep track of 
all the pieces and use them as needed? 
Why couldn’t it modify my previous 
code to meet new requirements, asking 
only for the new constraints? 

This is not a pipe dream. Techno¬ 
logical barriers may stand in the way, 
but even now we can surely do better 
than the software engineering techno¬ 
logy of 15 years ago. 1""— 1 


MAY 1986 


11 


ILLUSTRATION • MACIEK ALBRECHT 


















DIRECTIONS 



A SOIREE IN PHOENIX 

It’s tough in the trenches. 

First, you subscribe to Esther 
Dyson’s RELease 1.0. Then you pony 
up $1,000 (okay, she is a marketer; the 
price is actually $995) to enroll in her 
now-famous, annual industry 7 forum in 
Phoenix. Then you ante up another 
$1,000 or so to stay at exclusive Pointe 
Tapitio, high above scenic Phoenix. 

What that buys is a few days in Febru¬ 
ary to bump shoulders with the 
movers and shakers in the computer 
industry and maybe even find out 
what is really going on. 

This year publisher Newt Barrett, 
executive editor Julie Anderson, and I 
prowled the conference on the look¬ 
out for juicy tidbits, hot gossip, and, 
hopefully, significant trends. Coming 
off a somewhat depressed year, we 
wondered if we would hear caution 
and reserved predictions for the forth¬ 
coming year. We also wondered if we 
would would hear anything to make 
the blood run and generate renewed 
industry excitement. That did not hap¬ 
pen, but here are two observations. 
Artificial intelligence. This is, of course, 
one of Dyson’s pet areas, so it was no 

surprise to see so many AI companies 
represented at the forum and in the 
unique company sessions that fill each 
afternoon. A greatly increased accep¬ 
tance of and interest in AI technology 
was quite evident. The AI company 
sessions I attended each began with a 
description of the firm and its fi¬ 
nances; such information is clearly di¬ 
rected at analysts and financial types, 
who attended these presentations in 
considerable numbers. High-technolo¬ 
gy ventures are now back in good fa¬ 
vor with the investment community, 
and AI companies are obviously deal¬ 
ing with leading-edge technology. 

But it was not just the financiers 
who showed interest. AI and its prom¬ 
ise to the end user was a major topic 
of conversation among attendees. This 
was the greatest level of general inter¬ 
est I have seen in AI and may be an 
indicator of better things to come. 

The end user. At one point during the 
conference, Dyson asked all end users 
in the audience to raise their hands, 
whereupon she counted seven—four 
more than attended last year. But they 
were feisty and found themselves 

well-represented on several panels by 
Danielle Barr, a vice president with 
the Bank of New England. 

They also found themselves in 
the driver’s seat. If no other theme 
pervaded the conference, the impor¬ 
tance of end users and the need to 
deliver functionality to them certainly 
did. That may sound strange: how 
could we be in business if we did not 
focus on what the user needed? 

The growing realization is that we 
have for too long focused on what we 
thought end users needed. They got 
us into business to begin with by buy¬ 
ing so many of the computers that this 
industry built; now they are asking us 
to pay attention to what they really 
need, what will do them the most 
good. They want us to pay attention to 
standards and make their investment 
pay off for as long as possible. 

So no revolution emerges from 
Phoenix. But some signs indicate that 
the desktop computer industry is 
evolving from infancy to childhood, 
that we are learning to walk and talk. 

That’s a good sign in itself. 

—WF 



A BASH IN SEATTLE 

The “First International Conference on 
CD ROM” was held in Seattle during 
March, sponsored and elegantly 
hosted by Microsoft. 

CD ROM, which stands for com¬ 
pact disk/read only memory, is the 
second stage in the evolution of op¬ 
tical, read-only media—the first stage 
being the audio compact disk. It is a 
plastic disk, about 19 mm (4% inches) 
in diameter and 2 mm thick. It can 
hold about 500MB of data—about 
250,000 pages of single-spaced text. 
Assuming that the data are properly 
formatted, a CD ROM can be mastered 
for as little as $3,000 and produced 
for as little as $20 per disk in small 
quantities. 

The ability to put such vast quan¬ 
tities of data on such a tiny and inex¬ 
pensive media has spawned an indus¬ 
try. Perhaps most visible is Gary Kil- 
dall’s company, KnowledgeSet (for¬ 
merly Activenture), which, with Grol- 
ier, has produced a text-only encyclo¬ 
pedia on CD ROM and built a product 
called KRS (Knowledge Retrieval Sys¬ 
tem) to access it from desktop com¬ 
puters. This emerging business hopes 

to put just about any kind of data 
imaginable onto CD ROM. 

Two examples stem from Micro¬ 
soft’s commitment to the technology 
(it has formed a separate division to 
concentrate on CD ROM). The first is 
an impressive multimedia demonstra¬ 
tion disk that includes text, still pic¬ 
tures, audio, and video. The demo 
shows how reading an article about 
the Olympics could be enhanced by 
photos of key events or how the sub¬ 
ject of DNA could be driven home by 
a rotating model of the double helix. 

The second example is The New 
Papy>rus, a 600-page collection of pa¬ 
pers published by Microsoft Press just 
in time for the conference. Computer 
Access Corporation worked with Mi¬ 
crosoft Press to take the data files that 
were used to prepare the book, invert 
them (build a complete, word-by- 
word index), and plop them onto a 

CD ROM, a project that was completed 
in just three weeks. Computer Access’s 
program Bluefish, a full-text data man¬ 
agement system, provides the engine 
needed to locate word references 
anywhere in the book. 

A standard for the CD ROM me¬ 
dia already has been fixed. This means 
that any CD ROM reader will read any 

CD ROM. However, several different 
hardware interfaces remain, even to 
the IBM PC, as do many different soft¬ 
ware access methods. It takes Bluefish 
to read The New Papyrus, KRS to read 
Grolier, and Windows and special 
Microsoft drivers to read Microsoft’s 
fancy demo; in each case, the software 
must be equipped with drivers to han¬ 
dle the hardware. 

Worse, the mini-industry seems 
poised to launch CD ROM just as the 
giant Philips/Sony consortium 
announces the CD-I (for interactive) 
specification, the final evolutionary 
step and one that is as important as it 
is confusing. 

Such is the promise of CD ROM 
that 800 people paid to learn about 
it—500 more than Microsoft projected 
and 200 less than wanted to attend. 

What Microsoft’s conference demon¬ 
strated was a dazzling technology, 
rampant interest, and much more seri¬ 
ous work to come. 

—WF 


12 


PC TECH JOURNAL 


















TinyTurbo286 — $695 ( 
AT Speed in a Half Slot 
The People’s Choice 



PCturbo 286e —$1195 


Double AT Speed in a Full Slot 
The Super-Achiever’s Choice 


BE #1 WITH THE LEADER 

Two Breakthroughs to TURBOCHARGE Your PC! 


Orchid became the #1 Turbo 
company by delivering the 
performance, price, and 
compatibility you wanted. Now 
we have followed our critically- 
acclaimed PCturbo 186 with two 
powerful new 8MHz 80286 
Turbos. 

TinyTurbo 286 

A half-slot PC/XT caching 
accelerator for AT speed at a tiny 
cost. It's 100% PC compatible, 
even with copy-protected 
software, because you can switch 
back to the 8088 - a feature our 
competitors wish they had. 

PCturbo 286e 

A full-slot PC/XT/AT coprocessor. 
Twice the speed of an AT; 5 times 
that of a PC for lightning 
calculations, dazzling screens, 
and unbelievable performance. 

A Megabyte of RAM, optional 


EMS memory, and free RAM 
Disk, Caching, and Print 
Spooling. Now your PC can wait 
on you instead of the other 
way around. 

▲ Windows: No longer do you 
need an AT to make it fly. 

A Math: Crunch through 
computations with 8MHz 
80287 power. 

A Spreadsheet: Load and 
recalculate with amazing 
speed. 

A CAD: Redraw, zoom, and pan 
in a flash. 

A Database: Run lengthy up¬ 
dates on Friday rather than 
all weekend. 

Orchid's 286 Turbos - The power 
you need to get your work done 
faster. Let the #1 Turbo Leader 
make you #1 on the job. 


PCturbo 286e and TinyTurbo 286 are trademarks of Orchid Technology. 

All other products names are trademarks of their manufacturers. CIRCLE NO. 142 ON READER SERVICE CARD 


Norton SI Program V3.0 



IBM XT IBM AT Orchid Orchid 


TinyTurbo PCturbo 
286 286e 


Choose TinyTurbo 286 
If you would like AT speed. 

Choose PCturbo 286e 
If you demand the ultimate 
in performance. 


47790 Westinghouse Dr. 
Fremont, CA 94536 
415/490-8586 
Tlx: 709289 



ORCHID 

The Innovative Leaders 






































3 REASONS TO “WONDER” 




ea 

Size | 


| Bourbaki 1 

Inc 

| VOLUME II 


DATABASE 


► SUB-D1R 


HELP 


► SUB-DIR 


INF0STAR 


► SUB-DIR 


LOTUS 


► SUB-DIR 


NETSYS 


► SUB-DIR 


PALANTIR 


► SUB-DIR 


SYSTEM 


► SUB-DIR I 


TELECOM 


► SUB-DIR 


THINK 


► SUB-DIR 


WONDER 


► SUB-DIR 


WORDS 


► SUB-DIR 


NOTES 


1647 


APPOINT 

APP 

0 


AUTOEXEC 

BAK 

128 


Statistics 


► Disk Usage « 

2 Hidden files 
104 User files 
4038656 bytes left 
1552384 bytes used 
10592256 bytes total 


►► Memory Usage 

446048 bytes left 
78240 bytes used 
524288 bytes total 


►►► Today Is 

Wednesday the 18th 
2:13:49 pm 


C > "Wonder" Provides UNLIMITED USER 0EF1NEABLE Menu/Macro Capability!!! 


Toggles 

Main Menu 



| Batch ||= 

mi 

Set-up 

Pause 

On 

Sort 

Ext 

Default 

C: 

Display 

C: 


1 [Compose]™ i 

Type 

Rename || Erase || Date || Mkdir || Options |j=j| 

Simply Press F10 to Display ONE of Your APPLICATIONS MENUS 11 

i|| LOTUS |1| 

INFOSTAR | DBASE || THTANK | HAYES NETWORK 

1 » n 


The 1 DIR Version 3.50 — Copyright (c) Bourbaki, Inc. 1 


The “Wonder” screen acts as a sophisticated control panel to guide 
novice users and speed experienced users through the intricacies of 
program selection and file management. Its menuing/macro functions 
and point and shoot file management can help companies as well as 
individuals Organize, Customize and Standardize computer 
operations. 



“Wonder” is compatible with IBM, its compatibles, portables and a wide 
range of network systems. System requirements — IBM PC/XT/3270 
PC/AT/jr. or compatible; DOS 2.0 or higher; one disk drive. 


A It’S A It’S . It'S 

PROVEN POWERFUL ■ ■ EASY 


“Wonder” has earned .high marks 
and a reputation as an industry 
standard through years, not months, 
of user input and development. Be¬ 
sides the thousands of registered users 
that have relied on “Wonder”, it has 
been put to the test by hundreds of 
small businesses and site licensed by 
corporations like IBM, AT&T, GM 
and UPS. Over the years it has made 
hard disk operation easier for thousands, 
by providing the friendly face that greets 
users of Quadram, QUBIE’ and Basic 
Time Systems. Currently “Wonder” is 
licensed by more hard disk manu¬ 
facturers than any program of its 
kind. 

“Wonder” has grown in popularity 
the old fashioned way — by word of 
mouth from one satisfied user to the 
next. Today those words are echoed by 
those who review the industry — here’s 
what they’re saying. 

Compute 10/85: “Whether you’re a 
beginner or an experienced user , 1 dir 
(“Wonder”) can simplify your introduc¬ 
tion to MS-DOS and make your time on 
the computer more productive. ” 

Info World 11/85: “This is the one we 
would choose if we really needed the 
powerful features ...” 

PC Products 8/85: “Quite simply 
Id Ir (“Wonder”) works flawlessly ...” 

PC 12/85: “Overall Tdlr does 
indeed spell WONDER. ” 


“Wonder” is not only an un¬ 
complicated environment for be¬ 
ginners, it’s also a sophisticated tool 
for experienced users. It’s excellent in 
a hard disk environment where file 
organization and accessibility are a must. 
The “point and shoot” “Wonder” system 
makes single or multiple file operations 
fast and nearly effortless. 

With the unique Menu Builder you 
can create single key stroke com¬ 
mands to run programs or perform 
any multi-file, multi-command 
operation. The utility of the Menuing 
System is that it functions with the same 
simple cursor movement that drives the 
rest of “Wonder”, so any user familiar 
with File Management can easily build 
custom menu commands. Almost any¬ 
one can create a turnkey system that 
takes the hassle out of DOS forever. 

Many corporations have an ulterior 
motive for introducing new users to 
“Wonder”. Its menuing system is an 
excellent vehicle for establishing stand¬ 
ardization. Through a system of shared 
commands companies can assure 
speed and uniformity while re¬ 
ducing support requirements. 


Many corporate training centers and 
independent training consultants 
across the country use “Wonder” to 
soothe initial fears and pave the way to 
increased productivity. It eliminates 
the complex and hidden nature of 
DOS and replaces it with a point and 
shoot file management system. With 
“Wonder,” training centers are finding 
that beginners don’t stay novices for very 
long — the average is DOS literate and 
functional in hours not days. 

The same strengths that make 
“Wonder” popular with training special¬ 
ists make it ideal for independent users. 
First “Wonder” requires no special 
training; all major functions are 
cursor driven. It eliminates the need 
for you to remember syntax or type DOS 
commands. Secondly “Wonder” in¬ 
cludes a DOS help system that can 
actually help beginners to learn DOS 
basics. And, finally, “Wonder” is easy to 
install — a relative novice can install 
a basic system in minutes. 

For information or to order 
contact your local dealer or call 
(208) 342-5849. 


Don’t settle for JUST file manage¬ 
ment. Get the extended power of 
“Wonder”. 


CIRCLE NO. 247 ON READER SERVICE CARD 


Bourbaki Inc 


P.O. Box 2867 
Boise, ID 83701 
(208) 342-5849 


y 


A 

$9500. 




























Data 

Defense! 


with FastbacK 

Before your valuable data comes under fire from a hard 
disk crash, is annihilated due to an accidental reformat, 
or destroyed by any other frontal attacks, get FASTBACK. 
With FASTBACK, you can defend your valuable data 
from loss without spending a fortune on a clumsy tape 
backup system. For just $179, FASTBACK is the software 
backup utility that consistently outperforms tape systems 
costing $1000 to $2000 or more — on your present floppy 
disk drive. 

The best defense is a good offense. 

FASTBACK attacks the danger of data loss at its source: 
slow, hard-to-use backup procedures. Let's face it, if you 
have to spend hours to back up your full hard disk (as you 
do with the DOS "BACKUP" utility), you're not going 
to do it very often. But with FASTBACK you can back up 
a full 10 megabytes in just 8 ??iinutes flat (4 minutes on the IBM 
PC-AT)! So you can back up every bit of data every day, 
without even missing a coffee break. 


But is it bullet-proof? 

We won't guarantee your backups will be bullet-proof, 
but we've stapled them, nailed them, and even punched 
a hole bigger than a .22 calibre slug right through one — 
without losing a single byte of data! FASTBACK's ad¬ 
vanced error-correction algorithms push safety to the 
very limits of human ingenuity. That's Data Defense! 

Be safe, not sorry. 

FASTBACK is fully self-contained, and works with any 
make or size hard disk running on any IBM™ PC or 
compatible (requires PC-DOS™ or MS-DOS™ version 2.0 
or higher and at least one floppy disk drive). It is fully 
file-oriented (not a "disk image"), menu-driven and easy 
to use, with built-in safeguards that make it virtually 
"fool-proof". 

So get the safe solution, and get it fast. Get FASTBACK 
today. _=_ Fifth 

- = Generation 

^ 5 Y S T E M S 

909 Electric Ave Suite 202, Seal Beach, CA, 90740; 7942 Picardy Ave 
Baton Rouge, LA, 70809; Tel : 1-800-225-2775 or (213) 493-4483 


Marketing and Sales by CSSL, Inc. 


This product is in no way associated with or has origination in Fisher Scientific or Allied Corporation. IBM-PC, IBM-XT. IBM-AT and PC-DOS are 
registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft, Inc. 


CIRCLE NO. 108 ON READER SERVICE CARD 
















Now You Know Why 

BRIEF is BEST 


“There is nothing this editor can’t do except make babies and 

I understand that’s in the next release . David Irwin, Data Based Advisor, 12/85 


The Program 
Editor with 
the BEST 
Features 

Since its introduction, 
BRIEF has been sweep¬ 
ing programmers off 
their feet. Why? 

Because BRIEF offers the 
features MOST ASKED 
FOR by professional 
programmers. In fact, 
BRIEF has just about 
every feature you’ve 
ever seen or imagined, 
including the ability to 
configure windows, 
keyboard assignments, 
and commands to 
YOUR preference. One 
reviewer (David Irwin, 
DATA BASED ADVISOR) 
put it most aptly, 
“(BRIEF).. .is quite 
simply the best code 
editor I have seen.” 


(Systems 


TM 


WINDOWS 

Brief does do windows, and it does them your way! 

You can split the screen horizontally and vertically 
multiple times, creating as many windows as will fit on 
the screen. Each window can show any part of any file. 

BRIEFS flexible, easy to use windows make working 
with several files a breeze. 

“BRIEF’S windows are used very effectively... You 
can display as many windows as you can stand at one 
time... Movement between windows is easy, and data 
can be shipped between windows. You can even edit 
the same program in two windows at the same time. ” 

“You have to see this to believe it.” 

Elliot Niman - C Journal, Fall 1985 


Every Feature You Can Imagine 


Compare these features 

with your editor (or any 

other for that matter). 

• FAST 

• Full UNDO (N Times) 

• Edit Multiple Large Files 

• Compiler-specific 
support, like auto 
indent, syntax check, 
compile within BRIEF, 
and template editing 

• Exit to DOS inside BRIEF 

• Uses all Available Memory 

• Tutorial 

• Repeat Keystroke 
Sequences 

• 15 Minute Learning Time 

• Windows (Tiled and 
Pop-up) 


Unlimited File Size 
-(even 2 Meg!) 
Reconfigurable Keyboard 
Context Sensitive Help 

Search for “regular 
expressions” 

Mnemonic Key 
Assignments 

Horizontal Scrolling 

Comprehensive Error 
Recovery 

A Complete Compiled 
Programmable and 
Readable Macro Language 

EGA and Large Display 
Support 

Adjustable line length 
up to 512 


Program Editing 
YOUR Way 

A typical program editor 
requires you to adjust 
your style of programming 
to its particular require¬ 
ments - NOT SO WITH 
BRIEF. You can easily 
customize BRIEF to your 
way of doing things, 
making it a natural ex¬ 
tension of your mind. 

For example, you can 
create ANY command and 
assign it to ANY key - 
even basic function keys 
such as cursor-control 
keys or the return key. 

The Experts Agree 

Reviewers at BYTE, 
INFOWORLD, DATA 
BASED ADVISOR, and DR. 
DOBB’S JOURNAL all came 
to the same conclusion - 
BRIEF IS BEST! 

Further, of 20 top in¬ 
dustry experts who were 
given BRIEF to test, 15 
were so impressed they 
scrapped their existing 
editors!______1— 

r^oev protected! < 


MONEY-BACK GUARANTEE 

Try BRIEF (S195) for 30 days - If not satisfied get a full refund. 

TO ORDER CALL ( 800 - 821 - 2492 ) 


SOLUTION SYSTEMS, 335-P WASHINGTON ST., NORWELL, MA 02061, 617-659-1571 


BRIEF is a trademark of UnderWare 


CIRCLE NO. 123 ON READER SERVICE CARD 
















LETTERS 



THE CASE FOR CONCURRENCY 

The December 1985 issue of PC Tech 
Journal included an article entitled 
“Concurrent Environments” (Don Await, 
p. 52) and an accompanying table that 
compared various concurrent operating 
systems for the PC/XT and PC/AT. Unfor¬ 
tunately, several factual errors were 
made concerning Concurrent PC-DOS. 

First, Concurrent PC-DOS allows 
the user to run up to four PC-DOS tasks 
and an unlimited number of CP/M tasks. 
Second, code and data sharing is sup¬ 
ported on .CMD programs. Third, the 
user can cut and paste between applica¬ 
tions by using the Window Manager of 
Concurrent PC-DOS; the on-line help 
system outlines this function. Fourth, 
developer kits are available for all of 
our operating systems, including Con¬ 
current PC-DOS. Finally, Concurrent PC- 
DOS extended memory will be sup¬ 
ported as of an April release. 

In conclusion, Concurrent PC-DOS 
from Digital Research is a true con¬ 
current operating system. 

Michael Loftus 
Manager, Systems Software 
Digital Research, Inc. 

CP/M features of Concurrent PC-DOS 
(ClPC-DOS) were not reviewed, only its 
MS-DOS software. For more detail, the 
reader was directed to a previous re¬ 
view of the product. The number of 
concurrent CP/M tasks that can execute 
the code/data sharing of .CMD pro¬ 
grams only (not MS-DOS .EXE or .COM 
files) therefore were not mentioned. I 
might add that the 640KB memory re¬ 
striction of ClPC-DOS 4.1 makes state¬ 
ments about running an “unlimited 
number ” of tasks impractical. 

Cut-and-paste is available through 
the COPYMENU command. It was 
missed because the manual makes no 
mention of it; it is only referenced in 
the on-line help. 

Digital Research includes an order 
form for a C/PC-DOS Programmer's 


Guide, which provides technical infor¬ 
mation on system calls and operating 
system characteristics of C/PC-DOS. 

—Don Await 

In the December 1985 issue, Don 
Awalt’s “Concurrent Environments” was 
timely and informative. However, I dis¬ 
agree with a few of his assertions. 

Because many programs do not 
issue system calls continuously, time 
slicing is usually more efficient than 
nonpreemptive scheduling at balancing 
the performance of concurrent pro¬ 
grams on the PC. (It certainly is less 
“simple” to implement than non¬ 
preemptive scheduling, and my experi¬ 
ence with Crosstalk XVI running under 
DESQview suggests that lost characters 
should not be a problem at 1200 baud 
with a buffered, interrupt-driven com¬ 
munications program). It is best to 
combine techniques, like MultiLink and 
many mainframe systems do. 

Concurrency can degrade perform¬ 
ance: because DOS does not provide 
overlapped disk I/O, running two pro¬ 
grams concurrently usually takes much 
longer than running them one after the 
other. The exception is where one pro¬ 
gram spends most of its time waiting 
for a slow I/O device such as the key¬ 
board or a serial port. Of course, the 
ability to switch rapidly among multiple 
applications can be useful even without 
true concurrency. 

Unlike paged virtual memory, disk 
swapping does not increase the number 
of applications that concurrently exe¬ 
cute. (Programs swapped out are sus¬ 
pended until they are restored.) 

Table 1 would have been more 
useful if it also had listed the memory 
overhead for each partition. Obviously, 
partition overhead can limit the number 
of programs that fit into memory. 

The author also missed some 
important aspects of the product: 

DESQview does provide expanded 
keyboard buffering (table 1 is incorrect) 


and, like TopView, its scheduling algo¬ 
rithm normally gives a foreground pro¬ 
gram more time slices than a back¬ 
ground program. Unfortunately, DESQ- 
view’s time-slicing algorithm apparently 
can break down when dealing with cer¬ 
tain types of foreground programs that 
sometimes lock out other concurrent 
programs (a serious problem if, for 
example, a communications file transfer 
is in progress in the background). 

DESQview will not run any pro¬ 
gram properly that invokes a “child” 
process, such as a DOS shell. (Memory 
gets corrupted to the point that a cold 
reboot often is required.) This makes it 
impossible to execute a second copy of 
COMMAND.COM in a batch file. 

DESQview fails to use the COM- 
SPEC environmental string properly. It 
requires copies of COMMAND.COM in 
the root directory as well as its own. 

Under DESQview, Print Screen 
does not always print the visible screen. 
(Sometimes the invisible foreground 
screen is printed.) In addition, DESQ- 
view’s display management can exact a 
performance penalty of up to 50 per¬ 
cent for certain programs. 

On the other hand, there is a lot to 
like about DESQview: compact size, 
batch file and extended memory sup¬ 
port, TopView compatibility, disk swap¬ 
ping, elegant mark and transfer, and 
sophisticated keyboard macros. In fact, 
despite the problems mentioned above, 
I find it a useful tool and superior to 
TopView. (TopView’s lack of support for 
redirection and batch files is a particu¬ 
larly glaring weakness.) 

I do not share the author’s enthu¬ 
siasm for Windows. In the demonstra¬ 
tions I have observed, the nonpre¬ 
emptive scheduling algorithm and bit¬ 
mapped graphics resulted in painfully 
sluggish response. Windows also seems 
less capable than DESQview at running 
poorly-behaved programs concurrently. 

I also think that the author was too 
kind to Concurrent PC-DOS. In my ex- 


MAY1986 


17 





























































LETTERS 


tensive testing, I found that its limita¬ 
tions and weaknesses made it virtually 
useless for IBM PC-DOS applications. 

All of the concurrent environments 
need development. However, they may 
run out of time if the rumored multi¬ 
tasking DOS 4.0 becomes a reality. 

John Navas II 
Palo Alto, CA 

When Mr. Navas says that time slicing is 
more efficient than nonpreemptive 
scheduling, he assumes that the over¬ 


head required by time-sliced task switch¬ 
ing is greater than the time saved by 
optimizing tasks waiting for I/O, an 
assumption that is sometimes true. 

I share Mr. Navas's enthusiasm for 
DESQview in comparison to TopView. 
My greater enthusiasm for Windows is 
based in part on its attempt to define a 
graphics user interface with sufficient 
features and performance characteris¬ 
tics to be useful to software developers 
and end users. The greater the function¬ 
ality on the office desktop, the greater 


the need for a good interface for users 
who are not computer literate; the MS- 
DOS command-line input method is not 
acceptable in the long-term. 

Further, the performance of the 
latest version of Microsoft Windows is 
equal or superior to the other packages 
tested, although demonstration of this 
fact is difficult: a common set of third- 
party software packages would not 
simultaneously run with all the concur¬ 
rent environment packages tested. This 
left an apples-and-oranges situation for 
testing (the reason benchmarks were 
not run with the article). 

However, if multitasking DOS 4.0 
eventually becomes a reality, I will bet 
that Windows will remain a viable 
product in some form. 

—Don Await 

I enjoyed “Concurrent Environments,” 
as it seemed to be both comprehensive 
and well-researched. Based on the 
author’s conclusions, I recommended 
Windows to a friend. He then bought 
the package, primarily to be able to do 
other things while downloading from 
bulletin boards. 

Imagine our dismay when we 
found that Windows does not multitask 
standard applications. Except for Win- 
Aps, it either suspends tiled applications 
or simply turns over control. This was 
confirmed by Microsoft. Therefore, ex¬ 
cept for special applications, Windows 
should not even be rated alongside true 
concurrent environments. 

Because it seems so prejudicial, I 
cannot understand how such an impor¬ 
tant caveat could have been omitted. In 
the article, the discussion of different 
modes carefully avoids this issue, leav¬ 
ing the impression that Windows han¬ 
dles each kind of application to the 
greatest extent. In truth, no attempt is 
made to multitask anything except pro¬ 
grams written to Microsoft’s standard. 

By this omission, you have misled 
many people into buying a package that 
does not do what it claims to do. In try¬ 
ing to understand the reviewer’s view¬ 
point, my only guess is that for some 
reason, he failed to test the Windows 
package adequately beyond noticing 
that the initial screen was not in color. 
(A deception by Microsoft—the box 
shows a color EGA screen, but with a 
color graphics adapter. In 640-by-200 
high-resolution mode, only black and 
white is possible). 

I suggest that you check into this 
problem. If a review is biased or in¬ 
complete, software developers with su¬ 
perior products are hurt, and the public 


We give you the 
building blocks, you 
create the bridges 



Lotus paved the road for busi¬ 
ness computing with Sym¬ 
phony, but they couldn't go 
far enough for every business. 
Often there is a gorge between 
what you get, and what you 
need. So we designed Con¬ 
certo add-ins that integrate 
directly with Symphony's other 
features. Interpreted and 
Compiled BASIC versions of 
Concerto include a library of 
ready-to-run programs. And 
all versions let you program for 
your own applications in one 
of three languages: Inter¬ 
preted BASIC, Compiled 
BASIC, or Turbo Pascal. 
More than twenty-five special 
Symphony functions help 
you construct your own 
bridges. With Concerto, Sym¬ 
phony can take you where 
you need to go. 


"...you should have a 
copy...It's only $99 and 
allows you to 
write...programs that 
run in the Symphony 
environment and 
'communicate'with 
the spreadsheet in 
wonderful ways. 
Fantastic stuff." 

John C. Dvorak, 
Infoworld. 


For more information, or to 
order call 1-800-222-4711. 

In Indiana, 1-317-259-4711. 

Interpreted BASIC, Compiled 
BASIC (Microsoft's QuickBASIC 
or IBM's BASIC Compiler), 
Turbo Pascal— S99 each. 
Payment by check. Visa, 
MasterCard, or American Ex¬ 
press, Indiana residents add 
5% sales tax; shipping $5 USA, 

$ 15 outside USA. Not copy 
protected; money-back 
guarantee! 

(Qncekict 

2421 Willowbrook Parkway. Suite 507 
Indianapolis, IN 46205 

© LeBlond Software 

Symphony and Lotus are trademarks of Lotus 
Development Corp. Turbo Pascal is a regis¬ 
tered trademark of Borland International Inc. 
WordStar is a registered trademark of MicroPro 
International Corp. Microsoft is a trademark of 
Microsoft Inc. 


CIRCLE NO. 125 ON READER SERVICE CARD 


18 


PC TECH JOURNAL 














_ Flashy 
Programs. 



dBASE • Turbo Pascal • BASIC • C • COBOL • Fortran • Lotus 1-2-3... 


FLASH CODE™ SCREEN SCULPTOR™ 


NEW! 

FLASH-UP WINDOWS™ 

An incredibly flexible and powerful 
tool for Flash-Up M Menus and Flash- 
Up Help Windows! 

Every program, every applica¬ 
tion becomes more sophisticated 
and easier to use with Flash-Up 
Windows. 

Use the window editor to 
instantly create windows. Change 
their size, location, color...all auto¬ 
matically. Specify a string of char¬ 
acters or control codes to send 
back to your application program. 

The windows can be flashed-up 
directly by your program OR by the 
user with the keyboard. Windows 
can even call other menus or help 
windows. 

An absolute necessity for 
BASIC, Turbo Pascal, C, R:BASE, 
COBOL, Fortran, dBASE, Lotus 1-2-3... 


Introductory price. Only $75. 

(Until 3/31/86) 


The most powerful program developer for 
dBASE II and dBASE III ever developed. 
DRAW any screen design with our advanced 
screen editor. Use Flash Code and see 
how incredibly easy screen design can 
be. 

GENERATE complete programs automati¬ 
cally. Based on your screen designs, 
Flash Code can write your whole 
dBASE program. 

FLASH-UP WINDOWS™. Menus and Help 
Windows add a new dimension to your 
dBASE programs. Create them instantly 
with our window editor. Use the 
FlashUp™ module to have windows 
pop-up throughout your dBASE applica¬ 
tions. 

For dBASE II and dBASE III. $150. 

“...a truly remarkable product. Brand-new, 
state-of-the-art and actually fun to use. The 
windows make it an even more amazing 
product.” 

Cary N. Prague, Author 
“Beyond programming with dBASE III” 

“Destined to replace QUICKCODE™” 
MicroNewsA/lews, Nov. 85 


You can create screens in minutes...then 
Screen Sculptor writes the program. 

Move pieces of the screen around, select 
colors from a menu, draw boxes and lines, 
paint, repeat last character in any direction. 
And more! 

Specify variable names, data types, 
acceptable data ranges, pictures for edit 
checking, etc. 

Screen Sculptor then generates an actual 
program source code based on your screen 
design. Use it as is or modify it. 

For BASIC, Turbo Pascal, IBM/Microsoft 
Pascal. $125. 



“...so well done that you may not need to 
refer to the manual. ” 

“...an exceptional product that fills a real 
need in the development of new programs. ” 

Computer Language 


CIRCLE NO. 192 ON READER SERVICE CARD 


No Risk Demo Offer! 

Here’s a no-risk offer. Order now and 
you’ll also get a full demo disk. Use the 
demo and the manual for 30 days. If you 
don’t love it, return the package for a full 
refund. 


Credit card orders call 24 hrs/day 
1(800) 824-7888, operator 268. 

All other orders and inquiries call or write 
Software Bottling Co., 6600 L.I. Expwy, 
Maspeth, NY 11378. 718-458-3700. 


THE 

SOFTWARE 
BBTTLinG 
company 

OF NEW YORK 

Requires an IBM PC, XT, PC AT or true compatible, 256K 


























































































Only the HayesTranset 1000 @ 
can get you out of this one. 


ptspEmuy 

f/E£P MMKtVA/G 


PLM1 10 AMI 






'Pjfc/Wlr 'pMlt' 
otCt ✓ 

/Ocuwi 

- FhcM^Ls, 




Now your PC can do three 
things at once instead of making 
you wait while it does one thing 
at once. 

We call it tripjetaskmg- 0 

It means you can work with 
your PC while the Transet 1000 
receives your electronic mail 
and runs your printer for you 
simultaneously. 

Three jobs at once. No waiting. 

When you're away from your 
desk, or at night while your PC 
is turned off, Transet 1000 serves 
as an electronic mailbox. 

Because it has its own indepen¬ 
dent 128K or 512K memory. 

To get the messages that come 
in through the night, you can 
call them up on your PC. Access 
them through a remote modem 
if you're away from the office. 


Or even have them waiting for 
you in hard copy. 

By now it's dawning on you 


Hayes 

Say yes to the future with Hayes. 

* Manufacturer's estimated retail price. 
CIRCLE NO. 155 ON READER SERVICE CARD 


©1986 Hayes Microcomputer Products. Inc. 

that Transet 1000 can make your 
PC about three times as produc¬ 
tive as it is now. Which is no 
small statement. 

You've also figured out it's 
more than just a print buffer. 
More than just a communica¬ 
tions buffer. And probably costs 
a lot. Right? 

Wrong! 

It costs only $399* for the 
128K model which stores up to 
90 pages. And only $549* for the 
512K version with up to 360 
pages of storage. 

For more information and 
specifications, contact your 
authorized Hayes dealer. Or 
Hayes directly at (404) 441-1617. 

Hayes Microcomputer Prod¬ 
ucts, Inc., P.O. Box 105203, 
Atlanta, Georgia 30348. 















LETTERS 


is deceived. In this case, the damage al¬ 
ready has been done, as the software 
press resounds with acclaims for the 
product Windows pretends to be. 

Dan Magorian 
Leesburg, VA 

I strongly disagree with Mr. Magorian s 
statement that the Windows software is 
not what it pretends to be. 

The article states that Windows can 
concurrently execute either WinAp ap¬ 
plications or old applications that are 
“well-behaved, ” the major criteria for 
which is direct video I/O. Programs that 
do all video I/O through MS-DOS func¬ 
tion calls, for example, can be executed 
concurrently (assuming no other char¬ 
acteristics render them ill-behaved). 

My opinion that Windows is the 
“best package reviewed ” stands. In ad¬ 
dition to doing the best job with con¬ 
currency, Windows provides manage¬ 
ment of expanded memory for applica¬ 
tions being written to the Lotus/Intel/ 
Microsoft specification. Microsoft’s in¬ 
volvement in the future of MS-DOS will 
ensure that WinAp remains compatible 
with future operating systems. 

Windows also provides a graphics 
user interface that is superior to the 
command-line interface typified by MS- 
DOS. The power of Windows will enable 
users to have full cut-and-paste capabil¬ 
ity across all future applications; in ad¬ 
dition, the use of graphics standards 
available through Windows will enable 
a broader set of printers, plotters, and 
displays to be supported in the future. 

—Don Await 

About two years before anyone had 
heard of Windows, I wrote an interac¬ 
tive, text-based BIOS- and DOS-com¬ 
pliant game for the PC in the DOS 1.0 
environment. The .EXE for that file is 
unchanged after four years. With the 
proper settings in its .PIF file, Windows 
runs it in a window and concurrently. 
So, Mr. Awalt’s statements are correct. 

However, applications written with¬ 
out knowledge of Windows will run 
concurrently only when their window is 
visible on the screen: they will not run 
as icons (that is, in the background). 

This subtlety unfortunately was missed 
by Mr. Await, our technical staff, and 
our outside consultants. 

We regret the omission and apolo¬ 
gize for any inconvenience it caused. 

—WF 


REALTIME REVELRY 

I would like to thank Richard M. Foard 
for his excellent review of the CX/PC 



Block 

software 

theft... 

with 

THE BLOCK 


Patented protection for your profits 


Software-based security systems can be cracked too easily. 

But now there’s THE BLOCK,® an inexpensive device you 
supply with your software and without which it will not 
function. 

Users simply plug THE BLOCK into an external port of 
their PC, where it is totally transparent. However, 
commands you program into your software check for the 
presence of the device before allowing your program to run. 

What’s more, THE BLOCK has the added protection of a 
U.S. Government patent to prevent mass distribution of 
illegal “work-alikes.” 

THE BLOCK also lowers the price of security. Prices 
range from $39 for single units to $24 for quantities over 
1 , 000 . 

Call for your demonstration unit today. 

So give your product investment the unmatched protection 
of THE BLOCK. Send today for complete information and a 
demonstration unit—or to get it even faster, phone us at 
(203)329-8870. 

And block those hackers from hacking holes in your 
software profit plans. 


Software 
security me. 


Software Security, Inc., 870 High Ridge Rd., Stamford, CT 06905. 


CIRCLE NO. 173 ON READER SERVICE CARD 


MAY 1986 


21 













LETTERS 


The Answer 
to your 
Debugging 
Problems 


ICD286 


At last! An 80286 emulator which is 
affordable, compact, and easy to use. 


FAST—Full speed, real-time emula¬ 
tion up to 10 Mhz. 


AFFORDABLE—From $2400 to 
$5400, depending on options. 


EASY TO USE—On-line HELP with 
a screen oriented display. 


KEY FEATURES: 

• Hardware and software break¬ 

points 

• 2048 bus cycles of real-time trace 

• 64K of emulation memory 

• Symbol and line number support 

• Source-level debugging 

• Real and virtual (protected) mode 

support 

• On-line symbolic assembly and 

disassembly 

• Macros with parameters 

• Installs in an IBM-PC/XT/AT* 

or compatible 


IDEAL for development, debugging, 
testing, and field service. 


For further information, please con¬ 
tact: 

Awauiefi Sojjfwa'ie 

Corporation 

20863 Stevens Creek Boulevard 
Cupertino, CA 95014 
(408) 253-7515 


♦IBM-PC/XT/AT are registered trademarks of Interna¬ 
tional Business Machines Corporation. 


sub 

mov 

mov 

ax,ax 

cx,max_tasks 
bx,offset task_tbl 

task_tblt0..max_tasks - 

11 = 0; 

mov 

mov 

bx, offset dgroup:task_tbl 
ax, 1 

task_tbl[0] = 1; 


mov 

sub 

tbxl,ax 

ax, ax 

task_tbl[1..max_tasks ■ 

• 11 = 0; 

add 

bx,2 



mov 

cx,max_tasks - 1 




Realtime Executive as part of the “Multi¬ 
tasking Methods” article (March 1986, 
p.57). He had a firm grasp of the cen¬ 
tral concepts, and he presented them 
clearly. As one of the main objectives of 
CX/PC is to teach realtime programming 
techniques, it was gratifying to see that 
the ideas could be transferred. 

It is always a thrill to see software 
“come to life” in a realtime environ¬ 
ment, similar to hearing a complex mu¬ 
sical selection being played well. 

I continue to make improvements 
to the Executive. In version 2.0, the files 
and documentation have been reorga¬ 
nized to make the material easier to 
understand and use. In addition, I am 
preparing a 68000 version. 

Unfortunately, the INTR-Soft tele¬ 
phone number was given incorrectly. 
The correct number is 617/369-6242. 

Walter S. Heath 
INTR-Soft Company 
Bedford\ MA 

Thank you for the correction. We are 
sorry for any inconvenience it caused. 
We also would like to note corrections 
to the TJ/OS listing that appeared with 
this article. First, all occurrences of the 
expression offset task_tbl should be 
changed to offset dgroup:task_tbl. Sec¬ 
ond, the subroutine _init__os is incor¬ 
rect. The zero entry of taskjtbl must be 
initialized to a nonzero value for the 
procedure to work. The correction is 
shown in the figure above: the top set of 
lines is replaced by the bottom set. The 
corrected TJOS.ASM file also is available 
on PCTECHline. 

—CH 

C MISINTERPRETATION 

In this issue, your round-up review of C 
interpreters (“The State of C Interpret¬ 
ers,” Marty Franz, p. 153) includes the 
interpreter that is part of our training 
system, Introducing C. This interpreter 
is an integral part of our training pack¬ 
age, and was developed solely as an aid 
in the C learning process. To review it 
separately from the programs tutorial is 
taking it out of context. 

The Introducing C interpreter was 
never, and never will be, designed as a 


professional program development tool. 
Rather, its sole purpose is to help 
people learn how to write good C, and 
write it correctly. 

Because of this case of “mistaken 
identity,” we request that, in a future 
issue of PC Tech Journal , you review 
Introducing C for what it is, an interac¬ 
tive C language training system, which 
includes a training manual, interpreter, 
and a specialized C function library tai¬ 
lored toward training. 

George Eberhardt 
President 
Computer Innovations, Inc. 

A PHONE CALL AWAY 

Regrettably, our address and telephone 
number have been given incorrectly 
twice in your magazine: in our ad in 
the February 1986 issue (p. 195) and in 
your review of our product in the 
March 1986 issue (see “In the ISPF 
Tradition,” Rudy S. Spraycar, p. 113). 

We are Heuristic Computer Systems, 

Inc., 853 Hickory Drive, Carmel, IN 
46032-2307, 317/848-8981. 

The HCS/Editor version used in the 
review will be one year old when this 
letter is published. The current HCS/ 
Editor is not just the editor; it is now 
the same type of ISPF implementation 
as the other three products in the re¬ 
view. It is more like ISPF and includes a 
few more extentions to ISPF, such as 
macro support. We were hoping to be 
able to announce these items when 
poeple called in and sent in informa¬ 
tion requests. With the wrong phone 
number twice in a row and now the 
wrong address, you may have dealt us a 
severe blow—not deadly, just painful. 
Please exercise more care in the future. 

Robert A Fowler 
President 

Heuristic Computer Systems, Inc. 

We sincerely regret these errors. We also 
must report that in connection with the 
same article, the correct telephone num¬ 
ber for Arrix Logic Systems, Inc. is 416/ 
292-6425; the company’s toll-free num¬ 
ber is 800/268-3599. 

—WF 

[rnr»i 


CIRCLE NO. 214 ON READER SERVICE CARD 


PC TECH JOURNAL 

















WINDOWS FOR DATA™ 

' MENUS WINDOWS DATA ENTRY X 


PROFESSIONAL DEVELOPERS, here is 
the front end package you’ve been waiting 
for, the ONE that does the hard jobs that 
others can’t — we guarantee it. Makes 
standard display and entry tasks easy. 
Reliable. Compact. Portable. 

MENUS: Build multi-level menus in the 
format of your choosing: Lotus 1-2-3, 
Macintosh, or any style you might select. 
Items can call sub-menus, data-entry 
windows, or action functions. The menu 
system is completely flexible. 

WINDOWS: WFD is built upon and in¬ 
cludes Windows for C, the windowing 
system rated #1 in PC Tech Journal 
(William Hunt, July 1985). WFC now has 
more features than ever: unlimited windows 
and files, pop-ups, fast screen changes, win¬ 
dow names, horizontal and vertical scrol¬ 
ling, logical video attributes, highlighting, 
support for the EGA, off-screen updating, 
formatted output, word-wrap and auto 
scroll, print windows, read and write func¬ 
tions, and keyboard input with subroutine 
execution during waits. 

DATA ENTRY: The most complete and 
flexible data entry system on the market. 
Pop-up data-entry windows, field types for 
all C data types, plus special decimal, date, 
and time fields, full-featured field editing, 
auto conversion to and from strings for all 
field types, input masks or “pictures,” pro¬ 
tected text, system and user-supplied 
validation functions, range-checking, 
scrollable context-sensitive help, required 
and must-fill fields, passwords, programmer 
definable keys, field types, and mask func¬ 
tions, date and time utilities, and string 
utilities. Read field by field or auto-read all 
fields. Branch and nest window forms. 


FLEXIBLE 



As many possibilities as Vermont in June. 


WINDOWS FOR DATA HAS 
UNPRECEDENTED FLEXIBILITY. 

Virtually every capability and feature of 
WFD can be modified to meet special 
needs. All key-invoked data-entry functions 
can be assigned to keys of your choosing; 
and you can add your own functions to the 


key assignment table. This same flexibility 
exists for the input masks used to control 
data entry. Install your own validation func¬ 
tions. You can even define new field types 
and add them to the system. You do not 
need source code to take advantage of the 
flexibility of WFD, but full source is 
available. 


MICROSOFT WINDOWS 
COMPATIBILITY 

is automatic. Windows for Data 

detects the presence of MS Windows 
(and IBM’s TopView) and follows 
the rules required for full compatibility. 
No need for special code, complex inter¬ 
faces, or expensive toolkits. 


EASE OF USE 

Ease of use comes first and foremost from 
basic design and implementation. WFD is 
not just a library of functions, but an in¬ 
tegrated system for menus, windows, and 
data entry. 

We make the system easy to learn by 
explaining each major application in step- 
by-step detail. WFD is documented for the 
professional. Six hundred pages of 
documentation in a full-size, high-quality 
binder. Numerous tutorials and demonstra¬ 
tion programs are provided. Nearly two 
hundred functions are documented indi¬ 
vidually, to UNIX standards. 

RELIABLE 



For its basic input and output, WFD uses 
the library of Windows for C, a mature 
product that has earned a reputation for ex¬ 
treme reliability. WFD has been through its 
“shakedown” and the few bugs that turned 
up have been corrected. We promise to 
quickly respond to any further bug problems 
you may encounter. 

THE MEMORY FILE FACILITY 

of windows for C is more flexible and 
memory efficient than the “virtual screen” 
systems of other windowing packages. 
Memory usage adjusts to the amount of text 


in files. No waste space! Build files of 
any length and width from disk, code, or 
communications input. Retrieve,, replace, 
add, and scroll file lines. Open windows at 
any point in a memory file. .Scroll windows 
horizontally or vertically. 

UNIX, DOS, OR BOTH 

WFC and WFD provide source code com¬ 
patibility between PCDOS and UNIX. Pro¬ 
grams written for one operating system will 
compile and run on the other with only 
minor changes. 

UNIX developers, now you can put advanc¬ 
ed windows, menus, and data entry features 
common to the PC world in your UNIX 
programs. 

PRAISE FROM USERS 

“WFD is the best programming tool Yve ever used. 
It's the most flexible I’ve seen. Whenever Yve 
wanted to do something, Yve been able to find a 
wap. ” 

Steven Weiss, Stratford Systems (18 prs; 1 pr)* 

“WFC is the standard bp which we judge all other 
C utilities. The most helpful tool we’ve ever 
acquired. Absolutelp easp to use. Very tight code. ” 
James Baker, Mathew Bender (7 prs; 4 prs)* 

“Especiallp compared to Panel, I love Win¬ 
dows for Data. Your documentation is great. ” 
Don Heinmeller, Law Software (10 prs; 4 mo) * 
“The documentation lets you get up and running 
fast. I integrated help routines into existing educa¬ 
tional programs in a dap and a half. ” 

Richard Rovinelli, Educational Services 
(17 prs; 1 pr) 

* (programming experience; C experience) 

If you are tired of screen utilities that are 
hard to use and limited in capability, you 
owe it to yourself and your programs to try 
WINDOWS FOR DATA. 


OUR CHALLENGE AND 
GUARANTEE 

If you have an application where no 
other tool can do the job, try Windows 
for Data. If it doesn’t help you solve 
your problem, RETURN FOR A FULL 
REFUND. YOU MUST BE SATISFIED 


WINDOWS WINDOWS 
FOR DATA FOR C 

PC DOS* $295 $195 

XENIX-286 $595 $395 

UNIX CALL CALL 

* For all popular C compilers; 

No royalties for DOS 

U _ . 21 Elm Ave. 

Vermont Richford, vt 05476 

Creative 802 - 848 - 7738 , 
Software ext. 21 

MasterCard & Visa Accepted. Shipping $3.50 
VT residents add 4% tax. 

Trademarks: Panel, Roundhill Computer Systems; Microsoft, 
(registered) Microsoft Corp., TopView, IBM. 



CIRCLE NO. 115 ON READER SERVICE CARD 



















If you want 
to run software 
with graphics on your 
monochrome 
monitor, we have 
some bad news. 


A 


s we’re sure you’ve been 
told, the only way 
to run software with 


graphics on a monochrome 
monitor is to buy a graphics card. 
For $499, the Hercules Graph¬ 


ics Card runs these best-selling 
programs: 

Ashton-Tat e. Framework 

BPS, Overhead Express 

Lotus Development, 1-2-3, Symphony 


MicroSoft, MicroSoft Flight Simulator, Micro- 


Soft Word, MicroSoft Chart 
Software Products Int., Open Access 
Software Publishing, PFS: Graph 
Sorcim, Supercalc 3 


In monochrome only. 


And some good news. 


F or $395, the Paradise 
Modular Graphics Card 
runs all these programs. 

In monochrome. And in color. 

Arrays/Continental Software, Ultra File 
Ashton-Tate, Framework 
BPS, Overhead Express 
Brightbill-Robert, Graphix Partner 
Chang Labs, GraphPlan 
Dow Jones & Co., Dow Jones Market 
Analysis 

Lotus Development, 1-2-3, Symphony 
MicroPro, Chartstar, Planstar 
MDBS, Knowledge Manager 
MicroSoft, Basic Compiler, Basic Inter¬ 
preter, Chart, Flight Simulator, Project, Word 
PC Software of San Diego, Executive 
Picture Show 
Prentice-Hall, Execu vision 
Schuchardt Software Systems, Intecalc, 
Intemate, Intepert, Inteplan, Inteword 
Softrend, Aura 

Software Products Int., Open Access 
Software Publishing, PFS.’Graph 
Sorcim, SuperCalc 3 

Summa Software, Winning On Wall Street: 
Traders Forecast, Winning On Wall Street: 
Trader's Data Manager 
Advanced Ideas, The Game Show, Master 
Match, Tic Tac Show 
CBS Software, Big Bird's Special Delivery, Dino¬ 
saur Dig, Ernies Magic Shapes 
Davidson & Associates, Math Blaster!, Word 
Attack! 

Designware, The Grammar Examiner, Math 
Maze, Language Arts, Spellicopter, States & 
Traits, Trap-a-zoid 

Developmental Learning Materials, Alien Addi¬ 
tion, Alligator Mix, Demolition, Division, Dragon 
Mix, Meteor Multiplication, Minus Mission 
Eduware, Algebra 1, Algebra 2, Algebra 3, 
Algebra 4, Algebra 5 
Individual Software, Professor Pixel, The 
Instructor, The Typing Instructor 
Knoware, Knoware 

Scarborough Systems, Mastertype, Songwriter 
Learning Co., Addition Magician, Magic Spells, 
Moptown Parade, Number Stomper, Reader 
Rabbit 

Scholastic, Turtle Tracks 
Sierra On-Line, Dragons Keep, Troll's Take 
Simon & Schuster, Typing Tutor III 
Spinnaker Software, Alphabet Zoo, Delta 
Drawing, Fraction Fever, Hey Diddle Diddle, 
Kids on Keys, Kindercomp, Rhymes & Riddles, 
Story Machine 



The Paradise Modular Graphics 
Card runs all the popular programs 
Hercules does, plus 150 more. 


Broderbund Software, Serpentine 
CBS Software, Match-Wits, Mystery Master: 
Murder by the Dozen 
Hayden Software, Sargon III 
Innovative Design Software, Pool 1.5 
Intelligent Statements, Asylum 
Microlab, Crisis Mountain, Death in the Carib¬ 
bean, Dino Eggs, High Rise, Miner 2049er 
Muse Software, Castle Wolfestein 
Odesta, Backgammon, Checkers, Chess, Odin 
Origin Systems, Ultima III 
Orion Software, J-Bird 
PC Software of San Diego, Championship 
Blackjack 

Penguin Software, The Quest 
Priority Software, Forbidden Quest 
Scarborough Systems, Buck Rogers, Congo 
Bongo, Star Trek 
Sentinent Software, Cyborg 
Sierra On-Line, BC's Quest of Tires, Champion¬ 
ship Boxing, CrossFire, Dark Crystal, Frogger, 
King's Quest, Oil Well, Ultima II, Ulysses and 
the Golden Fleece 
Sir Tech, Wizardry 
Sirius Software, Buzzard Bait 
Spectrum Holobyte, Gato 
Spinnaker Software, Snooper Troops #1, 
Snooper #2 

Sublogic, "Night Mission"Pinball 


Springboard, Early Games for Young Chil¬ 
dren, Make a Match, Piece of Cake Match, 
Quizagon 

Thoroughbred Software, Exploring the 
Amazing Food Factory, The Fascinating 
Story of Cell Growth, How Plants Grow, 
Migrating Molecules, Mastering Units of 
Measurement, Photosynthesis 
Unicom Software, Funbunch, Ships Ahoy, 

Ten Little Robots 
Digital Research, DR Logo 
Energtonics, Energraphics 
Fox & Geller, dGraph, OZ 
Graphic Communication, Graphwriter 
BASIC, Graphwriter Combination, Graphwriter 
Extension 

Harvard Associates, PC. Logo 
Innovative Software, Fast Graphs 
Mouse Systems, PC Paint 
PC Software of San Diego, PC Crayon 
Peachtree Software, Business Graphics System 
Arktronics Jane 

Eagle Software Publishing, Personal Financier 
Monogram, Dollars and Sense 
Penguin Software, Graphics Magician 
Sierra On-Line, Home word 
Adventure Enterprises, Sea Dragon 
Atarisoft, Centipede, Defender, Dig Dug, 
Donkey Kong, Pac Man, Robotron, Stargate 
Avalon Hill Game Company , Andromeda 
Conquest, Computer Football Strategy, Com¬ 
puter Stocks & Bonds, V.C., Voyager 

Paradise Systems Inc., 217 East Grand Ave., South San Francisco, CA 94080 
(800) 822-2020 Ext. 251 (CA) or (800) 527-7977 Ext. (outside CA) 


I 


t’s true, Hercules only runs 10 of the 
161 programs with graphics for 
the IBM PC carried by SOFTSEL®, 
the largest distributor of micro com¬ 
puter products. 

Since the Paradise Modular Graphics 
card is 100% compatible with the 
IBM color graphics standard, it’ll run 
virtually every program written for 
the PC. In monochrome. And in color. 
Now and in the future. 

And we give you a $50 trade-in 
allowance on your old Hercules or 
IBM card. 

So see your dealer or call us. And 
get some good news for a change. 


PARADISE 

SYSTEMS, INC 

CIRCLE NO. 230 ON READER SERVICE CARD 






helps save time, money and cut frustrations. Compare, evaluate, and find products 


RECENT DISCOVERY 


dBASE Tools for C- incorporate C 
functions as extensions to dBASE III 
Plus. Also functions for business 
graphics, arrays, math, statistics. 

MS C, Lattice, Aztec. PC Graphics $ 79 

Tools $ 79 


Al-Expert System Dev’t 


Arity System - incorporate w/C. PC $295 
ExpcrtEASE - Develop by describing 
examples of how you decide. MS Call 
EXSYS - All RAM, Probability. 

Why. Trees. Solid, files, popular PC $359 
1st class - by example, interfaces $250 
Insight 1 - Probabilities, required 
thresholds, menus, fast ($79). 

Insight 2 adds backward, forward, 
partitions,dB2, lang., access. MS $399 
Others: APES ($359), Advisor ($949), 

ES Construction ($ 100), ESP ($845), 
Expcrtcach ($399), Expert Choice ($449) 


AI-LISP 


GC LISP Interpreter - “Common", rich. 
Interactive Tutorial $ 495 Call 

GC LISP 286 Developer-2 to 15 meg 
RAM, compiler & Interp. $1195 Call 
Microsoft MuLisp 85 $ 250 $199 

TLC LISP - “LISP-Machine" - like, 
all RAM, classes, compiler. MS $225 
TransLISP - Good for learning MS $ 75 
WALTZLISP - “FRANZ LISP" - 
like, big nums, debug, CPM-80 MS $149 
Others: IQ LISP ($155), BYSO ($125), 


AI-PROLOG 


ARITY Standard-full, 4 Meg 
Interpreter - debug, C, ASM PC $ 350 
COM PI LER/1nterpreter- EXE PC $ 795 

With Exp Sys, Screen - KIT PC $1250 
MicroProlog - enhanced MS $ 229 

MProlog - Improved, Faster PC $ 475 
Professional MicroProlog MS $ 359 

Prolog-86 - Learn Fast MS $ 95 

Others: Prolog-I ($365), Prolog-2 ($1795) 


Free Literature 
Compare Products 

Evaluate products. Compare competitors. Learn 
about new alternatives . One free call brings infor¬ 
mation on just about any programming need. Ask 
for any “ Packet ” or Addon Packet □ AI □ ADA, 
Modula □ BASIC □“C” □ COBOL □ Editors 
□ FORTH □ FORTRAN □ PASCAL □ UNIX/PC 
or□ Debuggers, Linkers. 

Our Services: 

• Programmer’s Referral List • Dealers Inquire 

• Compare Products • Newsletter 

• Help find a Publisher * Rush Order 

• Evaluation Literature FREE • Over 700 products 

• BULLETIN BOARD - 7 PM to7 AM 617-826-4086 


C Language-Compilers 


BDS C - solid value, fast CPM80 
C86 by Cl - 8087, reliable MS 
Consulair Mac C w/toolkit MAC 
ECP C/88 MS 

Lattice C - from Lifeboat MS 
Lattice C - from Lattice MS 

Mark Williams - w/debugger MS 
Megamax - tight full ATARI/ST 
Microsoft C 3.0 - new MS 

Q/C 88 by Code Works - Compiler 
source, decent code, cross/native MS 
Wizard C - Lattice C compatible, 
full sys. Ill, lint, fast. MS 


$125 
$299 
$299 
$ 60 
$289 
$339 
$399 
$179 
$259 

$125 

$379 


C Language-Interpreters 


C-terp by Gimpel - full K & R, 

.OBJ and ASM, large progs. MS $249 
H.E.L.P. - innovate env. MS $ 90 
INSTANT C - Source debug, 

Edit to Run-3 seconds MS $399 

Interactive C by IMPACC Associates. 
Interpreter, editor, source, debug. PC $225 
Introducing C-learn C 
fast, self paced tutorial PC $109 

Professional Run/C - Run/C plus 
create add-in libraries, 
load/unload them. MS $199 

Run/C - improved MS $109 


C Support-Systems 


Basic C Library by C Source $139 

C Debug - Source debuggers - by 
Complete Soft ($269), MSD ($149). 

C Sharp - well supported. Source, 
realtime, tasks $600 

C ToolSet - DIFF, xref, source $135 

Lattice Text Utilities $105 

The HAMMER by OES Systems $179 


SECURITYLIB - add encrypt to MSC. 

C86 programs. Source $250 PC $125 


C Libraries-General 


Application Programming 
Toolkit MS $375 

Blaise C Tools 1 ($109), C Tools 2 $ 89 
C Food by Lattice-ask for source MS $ 119 
C Power Windows by Entelekon $119 
C Utilities by Essential - Comprehensive 
screen graphics, strings. Source. PC $139 
Entelekon C Function Library PC $119 
Entelekon Superfonts for C PC $ 45 
Greenleaf Functions - portable, ASM $ 139 
Polytron - for Lattice, ASM source $ 85 
Software Horizons - Pack I PC $129 


C Libraries-Communications 


Asynch by Blaise $149 

Greenleaf - full, fast $139 

Software Horizons - pack 3 $119 


CLibraries-Files 


FILES: C Index by Trio - full B + 
Tree, vary length field, multi compiler 


/File is object only 

$ 89 

/Pro is partial source 

$179 

/Plus is full source 

$349 

CTree by Faircom 

$339 


dbVISTA - full indexing, plus optional 
record types, pointers, Network. 

Object only - MS C, LAT, C86 $179 
Source - Single user MS $459 

Source - Multiuser MS $929 


FEATURE 


High Performance Object-Oriented Programming: 
METHODS Smalltalk 

METHODS is a powerful, language-compatible subset of Smalltalk-80that is ideal 
for software prototyping, simulation, databases, advanced user interfaces, and numer¬ 
ous AI applications. Over 100 classes and 2000 methods — easily-customized software 
building-blocks for rapid, incremental development of real-world applications. 

An open-ended window environment that encourages exploration while allowing re¬ 
covery from any error. Extensively documented in a four-part manual that addresses 
the needs of everyone from beginners to experienced programmers. 

Methods also offers a communications interface that includes remote UNIX ,M access, 
an object-oriented shell for DOS programs, and much more. 

AND NOW... 

GRAPH IC METHODS — all of the above, converted to bit-mapped graphics, 
plus.. . 

- Logo-style graphics using class “Pen" 

- Multiple fonts 

- Form editor, for freehand drawing with the mouse 

- Bit editor, for the creation or modification of icons, fonts, and other graphic elements 

- A new debugger with the ability to inspect and change variables and resume 
execution 

- Supports CGA. EGA. Hercules, and AT&T Hi-Res graphic controllers. Available 
after June 1st. 

METHODS PCDOS $239 
GRAPHIC METHODS PCDOS $665 


FEATURE 


ASSEMBLER Programmers: 

Be an Expert and Take Out the Pain with 
ADVANCED TRACE-86, 
the First Assembler Interpreter/Debugger 

A complete, interactive, visual Assembler Interpreter/Compiler is integrated with a 
powerful debugger and editor to create, debug, rewrite, and test code. Increase under¬ 
standing while you watch on your screen all aspects of the main processor (8088, 8086, 
80286) and floating point processor (8087, 80287). 

Instructions from a full screen of disassembled code can be single-stepped or run at 
other speeds while you watch registers, flags, the stack, and memory. Set or suspend 
breakpoints by: address range, label, or conditions. Toggle to the user screen to see 
the effects. 

Add or delete program statements or directly change memory and registers to recarve 
your program while debugging — don’t lose your ideas by waiting to assemble. 

Gone too far? You can even back up your program! 

On-line help and demos help you learn quickly. 

Directly access DOS functions or the 8087/287’s math functions and quickly see 
exactly what results are produced. 

If you spend even a few hours with assembler code, whether your own or from a com¬ 
piler, you deserve to get frustrations out of your way with Advanced Trace-86. 

PCDOS $149 


We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga. 


CIRCLE NO. 162 ON READER SERVICE CARD 
































provides complete information, advice, guarantees and every product for Microcomputer Programming. 


FEATURE 


Panel Screen Generator - Create screen 
w/editor, generates code. Data 
validation, windows, no royalties. 

Specify Lat., MSC, C86, MS Fortran 
or Pascal MS $239 


Editors for Programming 


BRIEF Programmer’s Editor - 
undo, windows, reconfigure PC Call 
C Screen with source 80/86 $ 75 

EM ACS by UniPrcss - powerful, 
multifile, MLISP. Source: $949 $299 
Entry Systems for C PC $325 

Epsilon - like EM ACS PC $169 

FirsTimc by Spruce - Improve 
productivity. Syntax directed for 
Turbo ($69), Pascal ($229), orC ($239) 
Kedit - like XEDIT PC $115 

Lattice Screen Editor-multi window, 
multitasking Amiga $100 MS $125 
PMATE - power, multitask 80/86 $159 
VEDIT - well liked, macros, 
buffers, CPM-80-86. MS PC $119 
XTC - multitasking PC $ 85 


ATARIST& AMIGA 


We carry full.linesof Manx, Lattice, 
Metacompco and Prospero. 

Note: All prices subject to change without notice. 
Mention this ad. Some prices are specials. Ask about 
COD and POs. All formats available. 


National Accounts Center 

Special service is provided by a separate team for 
organizations with over 500employees. 

Purchasing agents, evaluators, managers, and 
programmers all appreciate the extra information, 
attention to shipping and invoicing, and help finding 
and evaluating products. Call 800-446-1185. 

Our Services: 

• Programmer’s Referral List • Dealers Inquire 

• Compare Products • Newsletter 

• Help find a Publisher • Rush Order 

• Evaluation Literature FREE • Over 700 products 

• BULLETIN BOARD - 7 PM to 7 AM 617-826-4086 


MultiLanguage Support 


BTRIEVE ISAM MS $199 

CODESIFTER - Execution PRO¬ 
FILER. Spot bottlenecks. 

Symbolic, automatic. MS $109 

MultiH ALO Graphics- Multiple video 
boards, printer, rich. Animation, 
engineering, business. 

Any MS language, Lattice, C86 PC $249 
PLINK 86 - a program-independent 
overlay linker to 32 levels for all MS 


languages. C86 and Lattice. MS $299 
Pfinish Performance Analyzer 
by Phoenix MS $299 

Profiler by DWB Associates MS $ 99 

PS MAKE by UniPress PC $129 

Screen Sculptor-slick, thorough, 
fast, BASIC, PASCAL. PC $109 

ZAP Communications - VT 100, 

TEK 4010emulation, full xfer. PC $ 85 


RECENT DISCOVERIES 


Dan Bricklin’s Demo Program - PC $ 75 
dBrief, the dBASE Assistant - 
optional syntax directed editing, 
screen gen, graphics, speed coding. 
dBASE II, III, Clipper. PC $ 95 


Fortran & Supporting 


Forlib + by Alpha - graph, comm. $ 59 
Fortran >> C-FORTRIX C creates 
maintainable translations. $995 

M ACFortran by Microsoft - full ’77 $229 

MS Fortran $219 

No Limit - Fortran Scientific $129 

PolyFortran - xref, pp, screen $149 

Prospero - ’66, reentrant $390 

RM Fortran - enhanced “IBM Ftn” $399 

Scientific Subroutines - Matrix $149 

Statistician by Alpha $269 


Strings and Things - registers, shell $ 59 


DEBUGGERS 


Advanced Trace-86 by Morgan 
Modify code on fly. PC $149 

CSPRITE - data structures PC $149 

Periscope I - own 16K PC $269 

Periscope II - symbolic. “Reset 
Box.” 2 Screen PC $119 

Software Source by Atron - 
Lattice, MS C, Pascal, Windows 
single step, 2 screen, log file. MS $115 
w/Breakswitch $199 


FEATURE 


FEATURE 


Expert System Development: 

Practical, Complete, and Unlimited Features 
Help Smoothly Build Expert Systems with EXSYS 

KXSYS, Inc. has built a stable and complete toolkit by listening to users and examining 
what they need. One of the first Expert System Shells for the PC, EXSYS provides 
the features of just about all of its combined competitors, plus the documentation and 
examples you will need to learn in this field. 

UNLIMITED FEATURES? EXSYS supports backward chaining of 1F/THEN/ELSE 
rules, full math support, probabilities, explanations, the ability to call external pro¬ 
grams including spreadsheets, database managers, or custom-written front ends with 
data passed to and from the external program, plus the ability to handle substantial ap¬ 
plications of up to 5,000 rules. All user input is either English text, menu selection, 
or algebraic expression. 

The systems developed can explain why information is needed and how it will be 
used. The ability to “change and rerun" allows expert system modelling of problems. 
Written entirely in C, EXSYS provides very high speed execution and efficient mem¬ 
ory utilization. 

But if these features are not enough, use the interface to Lotus, dBASE, BASIC, C, 
or any other .EXE or .COM file. Already in use at over 1,000 sites with many complex 
and powerful expert systems developed. Several expert systems have been marketed 
with a low-cost runtime license. Single computer use is only $349. Unlimited runtime 
distribution is available for an additional $539. 

PCDOS $349 


Prove Concepts, 
Tighten Designs, or 

Quickly Create Demos with 
DAN BRICKLIN’S DEMO 
PROGRAM 

Focus exclusively on what the user sees and 
does — with complete, flexible tools for 
fast and tangible results. 

Show simulations of keyboard input and 
screen content by using Dan’s editor and 
screen building tools. “Snapshot" screens 
created by other programs, use a prior 
screen to create a new one. Draw boxes, cut 
and paste any screen subset, control attri¬ 
butes like inverse video and color. Use the 
graphics characters available in the text 
mode. 

Cause screens to branch in any sequence 
using labels. Give the demo user control. 
Print-control helps put your slide show to 
paper or disk in a variety of formats. 

PCDOS $75 


PROGRAMMING TEAMS: 
Manage and Control Source 
Versions Efficiently with 
POLYTRON Version Control 
System (PVCS) 

Duplicated efforts and time wasted rebuild¬ 
ing and cataloging source can be avoided. 
Reliably delegate control for source AND 
documentation to PVCS. 

Save confusion and disk space by letting 
PVCS maintain the complete current ver¬ 
sion plus all of the increments, decrements, 
and related notes needed to rebuild any ver¬ 
sion. Maintains a complete history of 
changes. No experience with such a system 
is assumed. The documentation and exam¬ 
ples will help you learn quickly. Privilege 
levels control access so the administrator 
knows who is working on each module. 
Now used in PC software development en¬ 
vironments at Hewlett-Packard. Sperry, 3- 
COM, ROLM, and many more. Ask about 
discounts for LAN and multi-keyboard 
access. 

PCDOS $369 


Call for a catalog, literature, advice and service you can trust 

800 - 421-8006 


NEW HOURS 

8:30 AM - 8:00 PM EST. 


THE PROGRAMMER’S SHOP™ 

128-P Rockland Street, Hanover, MA 02339 
Mass: 800-442-8070 or 617-826-7531 386 


"It's not often that I receive service from a 
company that I consider exceptional but 
you’ve managed to do it ... I am impressed 
that you place the needs of your customers 
above making a "quick" profit and I hope 
to have the opportunity to do business with 
you again in the future . . ." 

Samual Solon 
White Pine Software. Inc. 


CIRCLE NO. 151 ON READER SERVICE CARD 
























MICROSOFT LANGUAGES NEWSLETTER Vol. 1, No. 5 


News about the Microsoft Language Family 


Microsoft® XENIX® Languages Offer Source Compatibility with MS-DOS® 

Applications developed for MS-DOS using Microsoft high-level languages can easily be transported 
to XENIX.The XENIX versions of BASIC, C, COBOL, FORTRAN, Macro Assembler, and Pascal 
offered by Microsoft are source-language compatible with the MS-DOS versions. 

The object files produced by C, FORTRAN, and Pascal can be used in either operating system 
environment, except for FORTRAN object files that access arrays greater than 64K in length.This 
makes it easier to move operating-system-independent subroutine libraries between systems. 


Using MAKE to Replace Batch Files for Program Development 

The MAKE utility provided with Microsoft Macro Assembler Version 4.0 can be used to replace 
batch files for building application programs. When using standard batch files to build an appli¬ 
cation every step has to be performed. However, with MAKE the time and date dependency rules 
allow recompiling, reassembling, or relinking only those files that are dependent upon recently 
changed files. 

The MAKE utility also has rules and macros. These features provide an easy and reliable way to 
change how application programs are built. For instance, by defining a rule for how C files are com¬ 
piled into object modules, every C compilation can be done with the same compiler options. When 
rules are combined with macros, new compilation options can be provided on the MAKE command 
line or in the MAKE file. If you regularly develop large programs and are not using a MAKE type 
of utility, you should investigate how it can help make your software development more efficient. 


Cullinet’s Micro/Mainframe Software Developed with Microsoft Macro Assembler 

Cullinets INFOGATE" and GOLDENGATE software supports over a dozen ways of connecting 
PCs to mainframes running Cullinets Information Center Management System.“The only way we 
could create this transparent link was with Microsoft Macro Assembler,” said Mary Kroening, 
Director of Micro Software Development. 

“Microsoft Macro Assemblers unique type checking and data structure features make it easy to 
connect routines with the rest of INFOGATE or GOLDENGATE. The Macro Assembler is an 
especially versatile product for writing device-level code to support LAN cards, 3278 emulation cards, 
SDLC interfaces, async ports, and more. The increased speed and reliability in Microsoft Macro 
Assembler 4-0 not only makes our job easier, but also cuts the build time in half” 


For more information on the products and features 

discussed in the Newsletter, 

write to: Microsoft Languages Newsletter 

16011NE 36th Way, Box 97017, Redmond, WA 98073-9717. 

Or phone: 

(800) 426-9400. In Washington State and Alaska, 
caH (206) 882-8088. In Canada, call (416) 673-7638. 

Microsoft, MS-DOS and XENIX are registered trademarks of Microsoft Corporation. INFOGATE and GOLDENGATE are 
registered trademarks of Cullinet, Inc. 


Latest DOS Versions: 


Microsoft C Compiler 

3.00 

Microsoft COBOL 

2.10 

Microsoft FORTRAN 

3.31 

Microsoft Macro Assembler 

4.00 

Microsoft Pascal 

3.31 

Microsoft QuickBASIC 

1.02 


Look for the Microsoft Languages Newsletter every month in this publication. 








F or all the talk of the “paperless 
office,” paper is still very much with 
us. The desktop computer has whetted 
the corporate appetite for information, 
and, in the absence of a mature national 
data network or even an accepted 
network standard , paper is the only 
universal channel for moving informa¬ 
tion from one set of hands to another. 
Even given the most optimistic esti¬ 
mates for network penetration over the 
next ten years, some people always will 
be beyond the network’s reach. As a 
result, what needs to be done when 
building networks is to include in the 
topology an interface to paper—to 
make, in other words, better paper. 

Two primary difficulties of reading 
data encoded on paper must be 
addressed. First, paper is an uneven 
medium, the quality of which is prone 
to disintegrate as the result of ink drop¬ 
out, smudging, dirt, and folding. In ad¬ 
dition, any paper reader must tolerate 
inevitable sloppiness as the result of 
human handling. In its solution to these 
problems, Cauzin Systems has produced 
a data encoding/paper reading system 
that could add paper to the list of avail¬ 
able channels in the corporate data 
network. PC Tech Journal has chosen 
the Cauzin Softstrip System as Product 
of the Month for May 1986. 

A Softstrip is a variable-length pat¬ 
tern the width of a stick of gum that is 
marked with a small dot and line for 
reader alignment. The strip can contain 
many files, and a single logical strip can 
extend over any number of physical 
strips. A single printed 8^-by-l 1-inch 
page can store about 30KB of data at 
maximum density. In use, the reader is 
placed over the strip so that the align¬ 
ment dot appears in the alignment hole, 
and the alignment line appears at the 
edge of the reader body. A scanning 
carriage within the reader traverses the 
strip and reads information under the 
control of a resident DOS utility, at a 
typical speed of 30 seconds per 3,500- 


byte, 9-inch physical strip. The reader 
automatically adapts its serial port baud 
rate to that of the host computer port to 
which it is attached. 

The strips are extremely tolerant of 
discoloration—by coffee stains, skin 
oils, even ink—and the reader can be 
positioned as much as one-eighth-inch 
skewed to the strip itself before reading 
fails. The reader uses a near-infrared 
light source that “sees” carbon-based 
inks and ignores pigments not based on 
carbon black. A hardware parity system 
within the reader allows the reader to 
detect and correct up to two damaged 


PRODUCT 

The Softstrip System 

COMPANY 

Cauzin Systems 

ADDRESS 

835 S. Main Street 
Waterbury, CT 06706 

TELEPHONE 

203/573-0150 

PRICE 

$199.95 


bits per data strip line. The strip as a 
whole is checksummed for errors not 
detected on a line-by-line basis. 

Softstrips can be printed at differ¬ 
ent densities. The reader detects strip 
density on the fly and can read any 
legal strip without adjustment. Strips 
can be reproduced via high-quality 
xerography; the typical two- to four- 
percent enlargement on office copiers 
is not a problem. A program, which is 
sold separately for $19.95, creates low- 
density strips on an Epson graphics 
printer. Technology to produce higher 
density strips on laser printers and off¬ 
set presses is patented and will be 
licensed to interested concerns. 

Remarkably, two-color printing 
with a red logo over the black strip is 


used as a speed-bump form of copy 
protection against copiers. Most xero¬ 
graphic processes see red as black and 
will print the logo as obliterating noise. 
The reader ignores the original’s red 
ink and sees only the black strip. 

Cauzin Systems has been printing 
strip-encoded software in its magazine 
advertisements to drum up interest in 
the Softstrip System. Several upcoming 
computer books also will include exam¬ 
ple programs in strip form. The prob¬ 
lem of the chicken versus the egg is se¬ 
vere; until a critical mass of readers is 
sold, the business computing commun¬ 
ity is unlikely to adopt the system. 

It should be adopted, however. 
Paper enjoys a rare privilege of privacy 
when passing over national boundaries 
in first-class mail. Softstrips in first class 
correspondence are difficult to detect 
and can be encrypted to protect against 
interception. Within the United States, 
the mails are legally protected in ways 
that electronic communications are not. 
In addition, the product’s immunity to 
magnetic fields and folding is further 
recommendation that mail or courier 
distribution of Softstrip data should be 
used between central and field offices. 

Cash register tapes with Softstrips 
on the back, along with strips encoded 
on utility bills as well as checking and 
charge account statements, could make 
computerized family budgeting possible 
and provide the first genuine justifica¬ 
tion for a home computer. The reader 
does not have to be a separate periph¬ 
eral; the technology could be built into 
point-of-sale terminals for easy process¬ 
ing of returns and warranty service. 

Whether Cauzin succeeds in getting 
industry to adopt its keyless data entry 
standard is an open question, but the 
company has done its homework. The 
Softstrip System was designed for paper 
and understands paper’s limitations. It 
is the best reason yet to add paper in a 
reasonable way to the growing network 
of data communications. I 1111 —! 


MAY 1986 


29 































TECH RELEASES 


Hardware , software , other developments 

for the IBM PC family 


HARDWARE 

FastPak, introduced by AST Research, 
Inc., is an Intel 8086-based turbo card 
for the PC or PC/XT designed to acceler¬ 
ate the operation of applications, includ¬ 
ing those involving expanded-memory- 
specification software. FastPak includes 
an 8KB two-set cache that creates two 
buffers to hold portions of currently 
active applications programs. FastPak 
speeds operation by reducing the need 
for the 8086 to read program code or 
data from the PC system memory. Once 
active, the cache system checks to see if 
the required block of code is held in 
one of the buffers. If found, the code is 
executed; if not, a new block is moved 
from system memory into a buffer. In¬ 
stallation involves inserting the card into 
an expansion slot, removing the 8088 
from the motherboard and inserting it 
into the FastPak card, and plugging a ca¬ 
ble from the FastPak into the original 
8088 socket. Users move from turbo to 
8088 mode with a switch on the FastPak 
board. Under $500. 

AST Research, Inc., 2121 Alton Avenue, 
Irvine, CA 92714; 714/863-1333 

CIRCLE 304 ON READER SERVICE CARD 

The SMF/AT210-4M, a multifunction 
module designed to upgrade the PC/AT 
to a multiuser system, is now compat¬ 
ible with XENIX and UNIX systems, in 
addition to DOS. This module, from 
Sigma Information Systems, provides 
from 256KB to 4MB of memory and 
supports two to seven serial line devices 
(including the console terminal) and a 
parallel printer. The SMF/AT210-4M 
plugs into one PC expansion slot and 
operates at speeds of up to 9600 baud. 
With 256KB of memory, 2 serial ports, 
and 1 parallel port, $464. 

Sigma Information Systems, 3401 E. 

La Palma Avenue, Anaheim, CA 92806; 
714/630-6553 

CIRCLE 322 ON READER SERVICE CARD 


Quadram Corporation has announced 
the Quad3270 Gateway XLU, a 

combined hardware and software prod¬ 
uct that supports communication be¬ 
tween LAN-based PCs and mainframe 
hosts. The XLU supports PC to SNA 
mainframe communication by enabling 
the PC to emulate IBM 3278 model 2 
and 3279 two- and four-color terminals. 
As many as 64 host mainframe sessions 
can be conducted concurrently. The 
product also provides a modem pool 
function, permitting multiple PCs to 
share its available asynchronous mod- 



Quad3270 Gateway XLU by> Quadram 


ems for PC-to-asynchronous host com¬ 
munication. Its hot-key feature allows 
users to toggle between SNA and asyn¬ 
chronous host sessions and normal op¬ 
eration. The XLU can accommodate up 
to three different types of LANs concur¬ 
rently and provides for LAN-to-LAN com¬ 
munications. 8 LUs, $6,818; 16 LUs, 
$7,485; 32 LUs, $8,182; 64 LUs, $9,485. 
Asher Technologies, Inc. (Quadram s 
communications products division), 
1009 Mansell Road, Roswell, GA 30076; 
404/993-4590 

CIRCLE 306 ON READER SERVICE CARD 

grapevine is a cost-effective LAN 
designed to interconnect terminal de¬ 
vices and computer resources within a 
building or site. Introduced by CASE 
Communications, Inc., the system 
uses data-voice multiplexing techniques 
so that data traffic shares the existing 
telephone wiring without interfering 
with or interrupting normal speech 


GRAPEVINE by CASE Communications 

usage. An optional central data ex¬ 
change can provide access to multiple 
computer resources or gateways to wide 
area networks, private or public, and 
specialized host computer environ¬ 
ments, such as IBM. At the terminal lo¬ 
cation, a small access unit is plugged 
into the telephone jack; both the termi¬ 
nal and the telephone handset plug into 
this unit. Data rates up to 19.2 kilobits 
per second, asynchronous or synchro¬ 
nous, are possible on the standard inter¬ 
nal telephone wiring. $233. 

CASE Communications, Inc., 2120 
Industrial Parkway, Silver Spring, MD 
20904; 301/381-2300 

CIRCLE 316 ON READER SERVICE CARD 

A low-cost LAN that provides basic net¬ 
working services among interconnected 
microcomputer workstations has been 
introduced by Xerox Corporation. 

The network, called Xerox Communi¬ 
cations 24 (XC 24), combines a 10 
megabit-per-second network with a low 
installation cost and an intuitive user 
interface. The network connects 30 Xe¬ 
rox 6060 family workstations or DOS 
3.1-based PCs over a 600-foot cable seg¬ 
ment and 900 devices with additional 
cabling and repeaters. XC 24 offers sev¬ 
eral options for sharing hard disks, files, 
and printers among networked work¬ 
stations. $720 per connection. 

Xerox Corporation, Xerox Square 006, 
Rochester, NY 14644; 716/423-5078 

CIRCLE 313 ON READER SERVICE CARD 

A hardware/software data acquisition 
system has been introduced by Cyborg 
Corporation. Designed for research 
and development, product testing, and 
process monitoring, the Isaac 5000 hard¬ 
ware addresses the need for flexibility, 
ease of use, and future upgrades. The 
system incorporates eight slots for any 
of Cyborg’s I-series of interface cards. 

Isaac 5000 features Discovery, a menu- 
driven applications tool with graphic 
displays of data for acquisition and 


30 


PC TECH JOURNAL 
















analysis. Discovery generally eliminates 
the need for programming; where pro¬ 
gramming is necessary, the LabSoft 
programmer’s toolkit is available for 
BASIC, C, and FORTRAN. The high¬ 
speed option can be added to the base 
unit as applications requirements 
increase. The high speed module can 
handle from 1 channel to more than 
1,000 and from 1 sample an hour to 
200,000 samples per second. Four chan¬ 
nels of high-performance A/D are stan¬ 
dard with this option; additional chan¬ 
nels and buffer memory can be added. 
The module provides for IEEE-488 com¬ 
munication to the PC host, isaac 5000 , 
$1,800; isaac/IBM interface card, $350; 
Discovery, $1,190; LabSoft, $500; high 
speed option, $4,850; modular expan¬ 
sion boards, $500 to $2,450. 

Cyborg Corporation, 55 Chapel Street, 
Newton, MA 02158; 800/343-4494; in 
Massachusetts, 617/964-9020 

CIRCLE 305 ON READER SERVICE CARD 

Intel Corporation has introduced a 
hardware card and software develop¬ 
ment package that halves evaluation 
time for Intel’s 4MB magnetic bubble 
memory components. The PC-Bubble 
Card includes either 512KB or 1MB of 
bubble memory in addition to the 
4-SITE software, an interactive program 
that enables designers to learn quickly 
how to program the 7225 bubble mem¬ 
ory controller. Two .versions of the PC- 
Bubble Card are available. The PCB-75-1 
has a single 7114 4MB bubble memory 
component; the PCB-75-2 has two 
bubble memory components. The two- 
bubble version is for users designing 
systems that incorporate two or more 
4MB components with a single control¬ 
ler. The 7225 will support up to eight 
7114 components, providing a total of 
4MB of reliable, nonvolatile storage. 
PCB-75-1, $495; PCB-75-2, $795. 

Intel Corporation, 3065 Bowers Avenue, 
Santa Clara, CA 95051; 800/548-4725 

CIRCLE 310 ON READER SERVICE CARD 


An advanced image processor that can 
achieve minicomputer throughput 
speeds on the IBM PC/AT has been 
announced by Data Translation, Inc. 
The DT2851 High Resolution Frame 
Grabber digitizes, stores, processes in 
realtime, and displays video images in 
monochrome or RGB false color at a 
rate of 30 image frames per second. 
System performance can be maximized 
with the addition of the DT2858 Auxil¬ 
iary Frame Processor, a 16-bit pipe¬ 
lined processor that connects directly to 
the frame grabber over special I/O ports 



DT2851 High Resolution Frame Grabber 


and speeds the completion of lengthy 
image processing calculations. The 
DT-IRIS Image Processing Software 

implements image processing algo¬ 
rithms on the DT2851 and the DT2858 
to help increase process execution 
speed on the AT. DT-IRIS is composed 
of two sections: IRIStutor, a tutorial pro¬ 
gram, and IRISsub, a library of image 
processing subroutines. DT2851, $2,995; 
DT2858, $1,495; DT-IRIS, $995. 

Data Translation, Inc., 100 Locke Drive, 
Marlboro, MA 01752; 617/481-3700 

CIRCLE 301 ON READER SERVICE CARD 

A hardware/software package that 
enables a PC/XT or PC/AT to monitor 
and analyze the activity of any LAN that 
adheres to the IEEE 802.3 standard has 
been introduced by Excelan Inc. The 
LANalyzer EX 5000E permits network 
systems developers to debug LAN appli¬ 
cations and protocols. Its open architec¬ 
ture permits OEMs and large end users 


to develop test routines for specific LAN 
requirements. The LANalyzer permits 
the capture and analysis of data accord¬ 
ing to predefined criteria independent 
of protocols such as TCP/IP, DECNet, 
XNS, or ISO. Realtime test results are 
displayed in bar graphs and saved to a 
DOS file. $9,500. 

Excelan Inc., 2180 Fortune Drive, 

San Jose, CA 95131; 408/434-2226 

CIRCLE 309 ON READER SERVICE CARD 

PC Technologies, Inc. has announced 
the release of its 286 Express acceler¬ 
ator card for the PC and PC/XT. This 
half-slot card is powered by Intel’s 
80286 8-MHz microprocessor; it re¬ 
quires no new or bundled memory and 
needs no special operating software. A 
unique 8KB cache memory provides 
zero wait access to the most recently 
used code and data. That same feature 
allows a stock PC to accelerate 700 per¬ 
cent; if the cache is disabled, accelera¬ 
tion still is at least 200 percent. $795. 

PC Technologies, Inc., 704 Airport Blvd., 
Ann Arbor, MI 48104; 800/821-3086; 
313/996-9690 

CIRCLE 318 ON READER SERVICE CARD 

A new product that provides hardware- 
assisted debugging has been announced 
by Microtech International. The 
hardware, called bug zapper, consists of 
an expansion board that features a ZAP 
circuit and a HALT button. The ZAP cir¬ 
cuit traps bugs as they overwrite critical 
memory locations. The HALT button 
enables users to interrupt programs at 
the touch of a button. The package’s 
guardian software loads into memory at 
boot time, but remains dormant until 
activated via the HALT or ZAP button. In 
addition to the normal debug com¬ 
mands, guardian provides a facility for 
arming the ZAP circuit. $195. 

Microtech International, 9906 Norwood 
Court, Dept. Z-2, Largo, MD 20772; 
301 / 350-1068 
CIRCLE 317 ON READER SERVICE CARD 


MAY 1986 


31 
































TECH RELEASES 


RYBS Electronics’ HiCard 



ll SPEED 


MicroSpeed’s Fast88 


HiCard, a short-slot, ^MB RAM card that 
addresses up to 896KB of memory, has 
been introduced by RYBS Electronics, 
Inc. Through an arrangement with 
Sophco, Inc., this product comes pack¬ 
aged with HiPage utility software, 
which takes full advantage of the ex¬ 
panded memory by accessing 740KB of 
DOS memory plus an additional 192KB 
of electronic disk and spooler space. 
With 256KB, $159; with 512KB, $199. 
RYBS Electronics; Inc., 2510 N. 47th 
Street, Suite HH, Boulder, CO 80301; 
303/444-6073 

CIRCLE 308 ON READER SERVICE CARD 

Telenetics Corporation has added a 
9600-bps modem to its ExpressData 
line. The ExpressData 96 is available in 
both external and internal versions. 

Basic features include auto answer, auto 



Telenetics' ExpressData 96 internal modem 


dial, call monitoring, Hayes command 
set compatibility, phone number stor¬ 
age, remote diagnostics, voice-to-data 
transmission switching, automatic adap¬ 
tive equalization, bisynchronous error 
control, and V.29 compatibility. $1,595. 
Telenetics Corporation, 895 E. Yorba 
Linda Blvd., Placentia, CA 92670; 
714/524-5770 

CIRCLE 321 ON READER SERVICE CARD 

Tallgrass Technologies Corporation 

has announced a new line of internal 
tape and disk/tape subsystems. The 
TG-1020i is an internally mounted, half¬ 
height, 5 v 4-inch tape drive that backs up 
20MB of data on a DC-2000 tape car¬ 
tridge. The TG-2025i is an internally 
mounted, full-height, 5 v 4-inch 25MB 
hard disk with a 20MB tape drive that 


backs up data on a DC-2000 tape car¬ 
tridge. The TG-l425i is an internal, 
3^-inch 25MB hard disk with a half¬ 
height, 5 v 4-inch tape drive that stores 
20MB of data on a DC-2000 tape car¬ 
tridge. The new internal drives include 
two software programs: xtree, a menu- 
driven file and directory management 
software program, and BackTrack, a soft- 
ware-based automated hard disk backup 
system. TG-1020i, $995; TG-2025i, 

$1,995; TG-I425i, $2,095. 

Tallgrass Technologies Corporation, 
11100 W. 82nd Street, Overland Park, 

KS 66214; 913/492-6002 

CIRCLE 320 ON READER SERVICE CARD 

A speed enhancement product for the 
PC, PC/XT, and compatibles that offers 
an increase in performance of up to 60 
percent with 100 percent software and 
hardware compatibility has been an¬ 
nounced by MicroSpeed Inc. The 
Fast88 replaces the standard 8088 CPU 
with a higher speed 8088-2 (or optional 
NEC V20 enhanced CPU) and allows the 
user to switch between the normal 4.77- 
MHz system clock and a selectable fre¬ 
quency clock generator of 6.1 MHz, 6.7 
MHz, or 7.4 MHz. These frequencies in- 
prove performance by 30, 45, and 60 
percent, respectively. It works with 
many popular software products. 
$149.95; with the NEC V20, $189-95. 
MicroSpeed Inc., 5307 Randall Place, 
Fremont, CA 94538; 415/490-1403 

CIRCLE 303 ON READER SERVICE CARD 

Techland Systems Inc. and Missing 
Link Computer Technology, Inc. 
have announced the first PC-to-main- 
frame link that allows PC users to enter 
and retrieve information by voice using 
a telephone located anywhere in the 
world. A combination of Missing Link’s 
“talk to me” system and Techland’s 
BlueLynx 5251/model 11 allows com¬ 
plete voice I/O and telephone manage¬ 
ment between the PC line and System/ 
34. Software provided allows “talk to 


me” to be linked to any host computer. 
This gives the system access to any exist¬ 
ing database and, thus, the ability to run 
all existing software by voice and 
through a telephone. Package, $4,795. 
Techland Systems Inc., 25 Waterside 
Plaza, New York, NY 10010; 
212/684-7788 

CIRCLE 314 ON READER SERVICE CARD 

Missing Link Computer Technology>, Inc., 
34-20 45th Street, Long Island City, NY 
11101; 718/937-9334 

CIRCLE 315 ON READER SERVICE CARD 

A plug-in card that runs software up to 
six times faster than normal with no 
modification to the software has been 
announced by Mountain Computer, 
Inc. The RaceCard-286 fits into the 
short slot in any computer; it is compat- 



RaceCard-286 by Mountain Computer 

ible with almost all AT software, RAM, 
and peripheral cards, because it emu¬ 
lates the IBM 8088 native processor. 

This half card, which measures 5 inches 
by 3.9 inches, uses only seven watts of 
power from the computer’s power sup¬ 
ply. Among network packages, it sup¬ 
ports the 3COM EtherSeries, Novell, Or¬ 
chid PCNet, and starlan. Some commu¬ 
nications software (such as Crosstalk 
and TelPak) and several word process¬ 
ing packages also can benefit. $795. 
Mountain Computer, Inc., 360 El 
Pueblo Road, Scotts Valley, CA 95066; 
800/458-0300; in California, 
800/821-6066 
CIRCLE 319 ON READER SERVICE CARD 


32 


PC TECH JOURNAL 




















Make Any Computer Do Exactly What You Want With McGraw-Hill’s 

Contemporary 
Programming & 
Software Design 
Series 






My Family 
Financial Planner 


Budget Plan 


Household 

Inventory 


Declining Interest 
Loan 


From Writing Your Own Programs to 
Modifying Existing Software, Here’s the New, 

Easy, and Low Cost Way to Unlock the Secrets 
of Your Computer 

Whether you use computers for business, for personal 
applications, or for fun, off-the-shelf programs 
will never do everything you want them to do 
for you. That’s because they were written by 
programmers to satisfy what they perceived as 
the needs of the greatest number of potential 
users—often missing some or many of 
your specific needs . 

That’s why McGraw-Hill’s new Contemporary 
Programming and Software Design Series 
teaches you how to create your own software . .. either from 
scratch or by making key modifications to existing programs. 

There is nothing magical about it. You learn the process of 
building a computer program step-by-step with McGraw-Hill 
Concept Modules sent to you one at a time, once a month. 

Each of the ten modules in the Series takes you through an 
important step in the development of the structure and 
detailed logic of a program, including testing, debugging, and documentation. 

Unique Interactive Hands-On Instruction 

Each module includes an easy-to-understand guide PLUS a 5 l A" floppy disk 
containing typical programs and interactive instruction that you can run on any 
IBM or IBM-compatible computer for hands-on experience. 

In the first Module, for example, when your 
sample program (Declining Interest Loans) 
appears on your screen, you’ll find errors on 
certain program lines. You’ll also see that the 
program is only three-quarters completed. 

Now comes the fun part. You’ll discover how 
this program *is built, and in the process you’ll 
learn how to identify and correct errors. And 
by the end of Module 1, you’ll actually have 

completed this program yourself. 

But there’s more. Special graphics on your screen work in conjunction with 
the accompanying guide to amplify, illustrate, and deepen your understanding of 
software design principles. 

Learn the Foundation of All Computer Languages 

Although the Series teaches you programming procedures, it is not aimed at 


any one language or machine. Why? Because 95% of the pro¬ 
gramming process is carried out using design techniques that 
are independent of a specific language or machine. Nevertheless, 
we include enough training in BASIC and machine language to 
get you started. You’ll find that the whole process of learning new 
languages will be greatly accelerated once you complete the Series. 

Create a Complete, Customized 

Family Financial Package As You Learn 

The sample programs you work with throughout the 
Series are excellent learning tools. But they’re more 
than that. By combining the sample programs onto one 
master disk, you’ll create your own family financial 
package that will help you balance your budget, figure 
loan amortization, and much more. And — of course — 
you’ll be able to further modify your financial 
package to fit your own specific needs! 

15-Day No-Risk TYial 

To order your first module without risk, send 
the postage-paid card today. Examine the first 
module for 15 days and see how the Series will 

help you 
make any 
computer do 
exactly what 
you want it 
to do! 


If someone has beaten you to the card, write to us 
for ordering information about the Contemporary 
Programming and Software Design Series. 


McGraw-Hill 

Continuing Education Center 

3939 Wisconsin Avenue 
Washington, DC 20016 

IBM is a registered trademark of International Business Machines. Inc. 


















Borland Turbo Prolog screen A new Pascal implementation by Softivare Channels 


Pacific Micro Systems has announced 
the Pelican 3.3, a mass storage system 
that incorporates the Kodak 3.3MB half¬ 
height drive into an aluminum housing. 
The system includes a half-slot control¬ 
ler card and cache software to decrease 
data access time. The Kodak drive can 
access data in half the time of conven¬ 
tional 5 v 4-inch floppy disks. In addition, 
when presenting data, the Pelican soft¬ 
ware can achieve RAM disk speeds by 
utilizing part of the PC main memory as 
a cache data buffer to speed up pro- 



By Pacific Micro Systems 


grams that repeatedly reference the 
same data. The Pelican permits floppy- 
disk users to put multidisk programs on 
one diskette and to expand storage in 
2.78MB segments, as needed. $793. 
Pacific Micro Systems, 160 Gate 5 Road, 
Sausalito, CA 94965; 415/331-2525 

CIRCLE 312 ON READER SERVICE CARD 

Designed to fit in a single expansion 
slot of the PC or PC/XT, OnBoard is a 
high quality hard-drive system available 
in 10MB and 20MB versions. Introduced 
by Maynard Electronics, the board 
can control two hard drives. Thus, when 
OnBoard is placed in an XT as the 
system’s second drive, it controls both 
drives, eliminating the need for the ori¬ 
ginal controller board. 10MB version, 
$975; 20MB version, $1,195. 

Maynard Electronics, 460 E. Semoran 
Blvd., Casselberry, FL 32707; 
305/331-6402 

CIRCLE 311 ON READER SERVICE CARD 


SOFTWARE 

The oracle relational database manage¬ 
ment system (DBMS) has been chosen 
by IBM for licensing on the RT/PC. 

Under the terms of the agreement be¬ 
tween Oracle Corporation and IBM 
Corporation, IBM will market for the 
RT/PC a version of oracle as well as sev¬ 
eral fourth-generation tools which also 
are developed by Oracle. The oracle 
DBMS will be called SQL/RT by IBM. 
Included in the SQL/RT package are the 
SQL-compatible relational DBMS and a 
novice user’s interface called Easy 
SQL/RT. This interface employs a point- 
and-select, menu-based interface and 
can create tables and generate reports. 
The SQL/RT package also includes an in¬ 
teractive command interface, an SQL 
precompiler for programs written in C, 
and an on-line data loader for the 
DBMS. SQL/RT, $1,000. 

Oracle Corporation, 20 Davis Drive, 
Belmont, CA 94002; 800/345-DBMS; in 
California, 415/598-8000 

CIRCLE 329 ON READER SERVICE CARD 

IBM Corporation, contact the local 
IBM dealer; 800/426-2468 

CIRCLE 330 ON READER SERVICE CARD 

A Pascal programming environment in¬ 
troduced by Software Channels, Inc., 
Alice is based on a syntax-directed edi¬ 
tor that understands the rules and struc¬ 
tures of programming languages, alice 
provides a menu of templates from 
which the programmer can choose to 
build and edit programs; he simply fills 
in the blanks, alice contains a complete 
Pascal interpreter that includes program 
debugging tools. Users can watch pro¬ 
gram output and execution on the same 
screen. An extensive help facility of 
more than 500 screens is included. $95. 
Software Channels, Inc., Four Kingwood 
Place, Kingwood, TX 77339; 
713/359-1024 

CIRCLE 339 ON READER SERVICE CARD 


Borland International, Inc. has an¬ 
nounced its fifth-generation language 
development system, Turbo Prolog. 
Turbo Prolog’s incremental compiler 
generates native code, linkable object 
modules, and a linking format compat¬ 
ible with the DOS linker; it supports a 
flexible, object-oriented system. The in¬ 
teractive full-screen editor automatically 
positions the cursor at the source code 
point of an error. Programs can call the 
editor, and view and modify the pro¬ 
gram’s source code at runtime, provid¬ 
ing truly interactive development. Wind¬ 
owing support for text and graphics 
allows the programmer to move back 
and forth through windows for the edi¬ 
tor, the trace facility, the source code 
listing, and sample query. $99.95. 
Borland International, 4585 Scotts 
Valley Drive, Scotts Valley, CA 95066; 
408 / 438-8400 
CIRCLE 341 ON READER SERVICE CARD 

An Ada compiler for the PC family has 
been introduced by Artek Corpora¬ 
tion. Artek Ada meets all defense speci¬ 
fications for Ada, with the exception of 
tasking, and runs under DOS on com¬ 
puters with at least 384KB of memory. 
The compiler features generic sub¬ 
programs, array and record aggregates, 
operator overloading, and dynamic 
arrays and exceptions. It requires only a 
single pass over the source code to pro¬ 
duce executable pseudocode. The user 
can invoke a second pass of the compil¬ 
er to translate this pseudocode into ma¬ 
chine language for the 8086. Artek Ada 
also provides functions traditionally as¬ 
signed to library managers and linkers. 
The Artek system includes a compiler, a 
full-screen editor, an interpreter/ 
debugger, a linker/library manager, 
and a pseudocode disassembler. $895; 
demo disk, $29.95. 

Artek Corporation, 100 Seaview Drive, 
Secaucus, NJ 07094; 800/PC-ARTEK; in 
New Jersey, 201/867-2900 

CIRCLE 335 ON READER SERVICE CARD 


36 


PC TECH JOURNAL 



















Turbo Pascal and the Turbo Pascal 
family give you a perfectly integrated 
programming environment and 
unbeatable speed, power, and price 


Turbo Pascal® is faster than 
any other Pascal compiler, 
and at only $69.95, a distinctly 
better deal. But it offers much 
more than speed, power, 
and price. 

There’s also the complete 
Pascal family of products that’s 
grown from 1 to 9 products in 
just 3 years. 

Turbo Pascal is backed by a 
complete range of “toolboxes” that 
give you most of the programming 
tools you’ll ever need 
The Turbo Pascal family is 
never static, but is continuously 
expanding, with new products 
like Turbo Editor Toolbox™ and 
Turbo Gameworks.™ 

The secret of software success is 
not merely low price, but top quality, 
allied with complete documentation, 
like our 400-page reference manual. 

All of which are some of the 
reasons why Turbo Pascal is clearly 
the leader, and the recipient of 
awards like PC Week’s “Product of 
the Year” and PC Magazine’s 
“Award for Technical Excellence.” 
And some of the reasons why Turbo 
Pascal has now become a de facto 
worldwide standard with more than 
half a million users. 

Turbo Pascal has grown 
from a single product 3 
years ago to a family 
of 9 today. 

Success breeds success, so the 
Turbo Pascal family has flourished. 
Your choices now include.- 

□ Turbo Pascal 3.0 combines 
the fastest Pascal compiler with 
an integrated development 
environment. 

□ Turbo Pascal with 8087 math 
co-processor support for heavy duty 
number-crunching, and/or Binary 



Turbo Pascal 3.0 
Turbo Pascal with the 
8087 support 
Turbo Pascal with 
Binary Coded Decimal, 
(BCD) 

Turbo Pascal with 8087 
and BCD 
Turbo Database 
Tbolbox™ 

Turbo Graphix Tbolbox™ 
Turbo Tutor® 

Turbo Editor Tbolbox 
Turbo GameWorks 


Coded Decimals to 

eliminate rounding-off 
errors for business 
applications. 

□ Turbo Database Toolbox is a 
perfect complement to Turbo Pascal. 
It includes a complete library of 
Pascal procedures that allows you to 
search and sort data, and build 
powerful database applications. 

□ Turbo Graphix Tbolbox 

a library of graphics routines for 
Tbrbo Pascal programs. Lets even 
beginning programmers create 
high-resolution graphics with an 
IBM,® Hercules, T “ or compatible 
graphics adapter. Does complex 
business graphics, easy windowing, 
and stores screen images to 
memory. 

Amazing value! Turbo 
Editor Toolbox includes 
MicroStar ™ a full-blown 
editor that also does windows! 
Turbo Editor Toolbox not only gives you 
ready-tocomplle source code and a 200- 
page manual that tells you how to lnte- 
grate the editor procedures and functions 
into your programs, but also Includes 

flUW! Turbo GameWorks 
gives you the games you 
can write , rewrite , bend and 
amend! Tlirbo GameWorks reveals 
the secrets of game design and the 
strategies. You’re given source code, a 
200-page manual, and the insight 




u Language deal 
of the centuiy... 

Turbo Pascal 

Jeff Duntemann, PC Magazine 

Turbo Pascal has got 
to be the best value 
in languages on the 
market today 

Jerry Poumelle, BYTE Magazine 

This compiler, produced 
by Borland International, 
is one of the best pro¬ 
gramming tools presently 
available for the PC 

Michael Covington, mm 
PC Tech Journal 


□ Turbo Tutor teaches you 
step by step how to use Turbo 
Pascal, with commented source code 
for all program examples on diskette. 

Save $109.70 when you 
choose the Turbo Jumbo 
Pack. 6 different Turbo 
Pascal products for only 
$243.00! 

For only $245.00, you get Turbo 
Pascal 3.0 and Turbo Editor Toolbox 
and Turbo Tutor and Turbo Graphix 
Toolbox and Turbo GameWorks and 
Turbo Database Toolbox! 

All 6 for only $245.00, which saves 
you $109.70. This limited offer is 
good through September 1,1986, so 
act now. 


MicroStar, a complete editor with M 
windowing capabilities. (You could pay 
$100.00 or more for a program like 
MicroStar, but you get it free as part of 
our Turbo Editor Toolbox.) You can aleo 
use Turbo Editor (which of course in¬ 
tegrates with Turbo Lightning™) to 
build your own word processor! 


needed to write and customize your 
own irresistible games. 

Thrbo GameWorks also Includes ready- 
to-play Chess, Bridge, and Go-Moku-an 
ancient Japanese game that can divert 
you from reality for hours on end. 


BORLAND 

INTERNATIONAL 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY CA 95066 
(408)438-8400 TELEX: 172373 


YES! 


I want 
the best 


To order by phone, 
or for a dealer nearest you, 

call (800) 255-8008 

in CA call (800) 742-1133 


Copies 


Product 


Price 


_ Turbo Pascal 3.0 

_ Turbo Pascal w/8087 " 

_ Turbo Pascal w/BCD n 

_ Turbo Pascal w/8087, BCD n 

— Turbo Database Toolbox 

_ Turbo Graphix Toolbox' 

_ Turbo Tutor 

_ Turbo Editor Toolbox' 

_ Turbo GameWorks' 

_ Turbo Jumbo Pack * 


$69.95 S- 
$109.90 J_ 
S109.90 $- 
$124.95 J_ 
$54.95 $ _ 
$54.95 $- 
$34.95 $.. 
$69.95 $- 
$69.95 $- 
*$245.00 $- 


Outside USA add $10 per copy 

CA and MA res. add sales tax $ _ 

Amount enclosed $ _ 

Prices include shipping to all US cities. 

Carefully describe your computer system: 

Mine is: _ 8-bit _ 16-bit 

I use: _ PC-DOS _ MS-DOS _ CPIM-80 _ CPIM-86 

My computer's name and model is: 

The disk sire I use is: □ 3ft* □ 5’/*' □ 8‘ 

Payment: VISA MC Bank Draft Check 

Credit card expiration date _/_ 

Cerdll I 1 I I I I 1 I I I 

I M I 1 I I I 1 1 

NOT COPY PROTECTED 
** 60-DAY MONEY-BACK GUARANTEE 

Name: _ 

Shipping Address- _ 


City: _ 


Telephone: . 


CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by credit card or International Postal 
Money Order. 

*Limited Time Oder until September 1,1986. 

••YES, it within 60 days ol purchase this product does not 
pedorm in accordance with our claims call our customer service 
department and we will gladly arrange a refund. 

Minimum System Requirements: 

Turbo GameWorks, Turbo Graphix Toolbox, A Turbo Editor 
Toolbox-192K. All other products 128K. 

'IBM PC. PCjr. AT, XT, 
and true compatibles. 

** 16-bit only. 


ft Turbo Graphix Tbolbox; Turbo Tutor; Tbrbo 
GameWorks; Tbrbo Editor Tbolbox; Word Wizard; Max, The Analyst; SldeKlck; Sidekick, The Macintosh Office Manager; Traveling SkleKlck; 
and SuperKay- all of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Anatytica, Inc. 

Tbrbo Pascal and Turbo Tutor are registered trademarks, and Tbrbo OameWorks, Turbo Editor Tbolbox, Turbo Database Tbolbox, Turbo 
Graphix Tbolbox, Tbrbo Lightning, and MicroStar are trademarks of Borland International IBM Is a registered trademark of 
International Business Machines Oorp. Hercules is a trademark of Hercules Computer Tbch. 

Copyright 1000 Borland International BI-1O30C 

CIRCLE NO. 251 ON READER SERVICE CARD 




























UnkelScope screen by Unkel Softivare By Hilgraeve, Inc. 


A software package that allows commu¬ 
nications through modems or cables 
with almost any other computer has 
been announced by Hilgraeve, Inc. 
HyperACCESS gives users access to 
information utilities, computerized ser¬ 
vices, bulletin boards, microcomputers, 
or mainframes. It transfers files using 
XMODEM, Kermit, or a variety of text- 
transfer methods and can emulate such 
terminals as the DEC VT-52, VT-100, 
TeleVideo 900, IBM 3101, H-19, and 
TTY. HyperACCESS enables a computer to 
act as an unattended host, so it can be 
operated from any remote computer or 
terminal. Its powerful script language al¬ 
lows the user to create custom func¬ 
tions, prompts, and menus. $149. 
Hilgraeve; Inc., P.O. Box 941, Monroe, 
MI 48161; 313/243-0576 

CIRCLE 324 ON READER SERVICE CARD 

DSD86, a new debugging program 
from Soft Advances, features a full¬ 
screen display built on a windowing sys¬ 
tem that allows the user to arrange and 
size displays. The macro facility can ac¬ 
cept parameters and call other macros 
recursively. DSD86 can bind any com¬ 
mand line to any Ctrl, Alt, or function 
key. The debugger offers full support 
for symbols from MAP files. $69.93. 

Soft Advances, P.O. Box 49473, Austin, 
TX 78765; 512/478-4763 

CIRCLE 331 ON READER SERVICE CARD 

Chalcedony Software, Inc. has an¬ 
nounced a large memory model Prolog 
interpreter called Prolog v-plus. Fea¬ 
tures include 100 predefined predicates 
and operators, double-precision float¬ 
ing-point arithmetic, arithmetic func¬ 
tions, access to 640KB of RAM, the abil¬ 
ity to call other programs from within 
Prolog v-plus, and addressable cursor 
and graphics functions. $99.95. 
Chalcedony Enterprises, 5580 La Jolla 
Blvd, Suite 126, La Jolla, CA 92037; 
619/483-8513 

CIRCLE 328 ON READER SERVICE CARD 


The PC Workbench, a CAE software 
package that provides a complete set of 
analog/circuit design tools on a PC, has 
been introduced by Analog Design 
Tools, Inc. PC Workbench lets the 
designer construct a circuit, attach 
simulated test instruments, and see test 
results on a screen. Software functions 
include a circuit editor, three test set¬ 
ups, spectral analysis, parameter entry, 
parametric plotting, subcircuits, and 
statistical analysis. PC Workbench runs 
spice plus, an enhanced version of spice 3 
software, which features a menu-based 
user interface with multiwindowing. The 



PC Workbench screen by Analog Design Tools 


PC Workbench package includes a 
32032 32-bit processor board that runs 
under UNIX System V and provides 2MB 
of memory for spice plus. The package 
also includes a mouse and seven soft¬ 
ware modules. $12,500. 

Analog Design Tools, Inc., 66 Willow 
Place, Menlo Park, CA 94025; 
415/328-0780 

CIRCLE 325 ON READER SERVICE CARD 

The Scientific Desk, designed for use 
with the PC, is now also available for the 
new RT/PC. Produced by C. Abaci, Inc., 
The Scientific Desk is a problem-solving 
environment for scientific users. Pro¬ 
grams, documentation, tutorials, and 
examples are integrated in a scope- 
oriented, menu-driven form. Functions 
and subroutines that cover the areas of 


arithmetic, error analysis, mathematical 
physics, linear algebra, interpolation, 
solution of nonlinear equations, and 
optimization are included for program¬ 
ming. In addition, problem solvers, 
which require no programming, are 
included. These cover approximation, 
eigenstate analysis, zeros of polynom¬ 
ials, singular value decomposition, and 
over-determined system solving. Annual 
site license fee, $1,320; purchase fee for 
one machine, $660. 

C. Abaci, Inc., 208 St. Mary's Street, 
Raleigh, NC 27605; 919/832-4847 

CIRCLE 323 ON READER SERVICE CARD 

An encryption utility called The Private 
Line, released by everett enterprises, 
is a DOS implementation of the Data 
Encryption Standard; it can encrypt any 
DOS file. Features include single- or 
double-file encryption and decryption; 
capabilities for text file print, file dis¬ 
play, file purge, sorted disk directory 
display; and the ability to convert 
between binary and ASCII files. In 
addition, the user can specify one or 
two 64-bit keys. $49.95. 

EVERETT ENTERPRISES, P.O. BOX 193, Bath, 
NC 27808; 919/923-5621 

CIRCLE 327 ON READER SERVICE CARD 

A science and engineering laboratory 
software tool has been announced by 
Unkel Software, Inc. The Unkel¬ 
Scope is a data acquisition, display, pro¬ 
cessing, and control package. Level 1 
presents a menu-driven interface that 
can accept and display data in realtime 
and store data for later analysis. Level 2 
adds experiment control, process con¬ 
trollers, digital filtering, FFT-related 
functions, calibration, conversion, and 
algebraic functions. UnkelScope is com¬ 
patible with data acquisition boards 
from Tecmar, MetraByte, and Data 
Translation. Level 1, $325; Level 2, $495. 
Unkel Software, Inc., 62 Bridge Street, 
Lexington, MA 02173; 617/861-0181 

CIRCLE 326 ON READER SERVICE CARD 


38 


PC TECH JOURNAL 



















Step-by-step tutorial, demo programs with source code included! 

Borland introduces Turbo Prolog, 
the natural language of 

Ar+.iflmfll TntalH^rv* 


Prolog i 


l is probably the most 
powerful computer programming 
language ever conceived, which is 
why we’ve made it our second 
language—and “turbocharged” it to 
create Turbo Prolog.’" 

Our new Turbo Prolog brings 
supercomputer power to your IBM® 
PC and introduces you step-by-step to 
the fascinating new world of Artificial 
Intelligence. And does all this for an 
astounding $99.95. 


0 Turbo Prolog is to 
Prolog what Turbo 
Pascal* is to Pascal! 

Our Turbo Pascal astonished 
everyone who thought of Pascal 
as “Just another language.” We 
changed all that—and now Turbo 
Pascal is the de facto worldwide 
standard, with hundreds of 

thousands of enthusiasts 
and users in 
universities, 
research 
centers, 
schools, 
and with pro¬ 
fessional program¬ 
mers, students, 
and hobbyists. 

You can expect at least the 
same impact from Turbo Prolog, 
because while Turbo Prolog Is the 
most revolutionary and natural 
programming language, it Is also 
a complete development environ¬ 
ment-just like Turbo Pascal 
Turbo Prolog radically alters 
and dramatically improves the 
brave new world of artificial 
intelligence—and invites you into 
that fascinating universe for a 
humanly intelligent $99.95. 


j Even if you've never 
* programmed before, 
our free tutorial will 
get you started right away 

You’ll get started right away 
because we have included a 
complete step-by-step tutorial as 
part of the 200-page Turbo Prolog 
Reference Manual. Our tutorial 
will take you by the hand and 
teach you eveiything you’re likely 
to need to know about Turbo 
Prolog and artificial intelligence. 

For example: once you’ve 
completed the tutorial, you’ll be 
able to design your own expert 
systems utilizing Turbo Prolog’s 
powerful problem-solving 
capabilities. 

Think of Turbo Prolog as a 
high-speed electronic detective. 
First you feed it information and 
teach it rules. Then Turbo Prolog 
“thinks” the problem through 
and comes up with all the 
reasonable answers—almost 
instantly. 

If you think that this is 
amazing, you just need to 
remember that Turbo Prolog is a 
5th-generation language—and 
the kind of language that 21st 
centuiy computers will use 
routinely. In fact, you can 
compare Turbo Prolog to 


Turbo Pascal the way you 
could compare Turbo Pascal to 
machine language. 

You get the complete 
Turbo Prolog 
programming system 
for only $99.95 
You get a complete Turbo 
Prolog development system 
including: 

■ The lightning-fast Turbo Prolog 
incremental compiler and the 
interactive Turbo Prolog editor. 

■ The 200-page reference 
manual which includes the step- 
by-step Turbo Prolog tutorial. 

■ The free GeoBase™ natural 
query language database 
including commented source 
code on disk—ready to compile. 
GeoBase is a complete database 
designed and developed around 
U.S. geography. It includes cities, 
mountains, rivers, and highways, 
and comes complete with natural 
query language. Use GeoBase 
immediately “as is,” or modify it 
to fit your own interests. 

So don’t delay—don’t waste a 
second—get Turbo Prolog now. 
$99.95 is an amazingly small 
price to pay to become an 
immediate authority—an instant 
expert on artificial intelligence! 
The 21st centuiy is only one 
phone call away. 


BORLAND 

INTERNATIONAL 


4585 SCOTTS VALLEY DRIVE 
SCOUS VALLEY, CA 95066 
(408)438-8400 TELEX: 172373 


Other Borland Products include TUrbo Pascal; Turbo Tbtor, TUrbo Lightning; TUrbo Database Tbolbox; TUrbo Graphlx Tbolbox; 

TUrbo Editor Tbolbox; 1\irbo GameWorks; SuperKe&r; SldeKlck; SldeKlck, The Macintosh Office Manager; Reflex, The Analyst; and 
TYavellng SldeKlck—all of which are registered trademarks or trademarks of Borland International, Inc. or Borland/Analytlca, Inc. 
Turbo Prolog and GeoBase are trademarks and Turbo Pascal is a registered trademark of Borland International Inc. IBM and AT 
are registered trademarks of International Business Machines Corp. Copyright 1996 Borland International BI-1045D 


The disk size I use is: □ 3 ft' □ 5W 

NOT COPY PROTECTED 
*60-DAY MONEY-BACK GUARANTEE 

Name: _ 

Shipping Address: _ 


City: _ 

Stale: _ 

Telephone:. 


CODs and purchase orders WILL NOT be accepted by 
Borland. Outside USA make payment by credit card or 
International Postal Money Order. 

*YES, il within 60 days of purchase this product does 
not perform in accordance with our claims, please call 
our customer service department and we will gladly 
arrange a refund. 

** Minimum cwe/om rpnniromonle- 


Turbo Prolog 1.0 
Technical Specifications 
Programming System Features 

0^ Compiler: Incremental compiler gen¬ 
erating native ln-llne code and linkable 
object modulea The Unking format Is 
compatible with the PC-DOS linker. Large 
memory model support. Compiles over 2600 j 
lines per minute on a standard IBM PC. 

Ef Interactive Editor: The system 
Includes a powerful interactive M-ecreen 
text editor. If the compiler detects An error, 
the editor automatically positions the 
cursor appropriately in the source code. At 
run-time, Turbo Prolog programs can call 
the editor, and view the running program’s i 
source code. 

0f TypeSyst 
type system is supported. 

Windowing Support: The system 
supports both graphic and text windows 

Input/Output: Pull I/O facilities, 
including formatted I/O, streams, and 
random access files. 

Numeric Ranges: Integers: -32787 to 
32767; Reals: lE-307to 1E+308 
0" Debugging: Complete built-in trace de¬ 
bugging capabilities allowing single 
stepping of programs 


YES! 

Turbo Prolog at only: 

$99.” 

To order by phone, 
or for a dealer nearest you, 

Call (800) 255-8008 

in CA call (800) 742-1133. 

Send me Turbo Prolog al $ _ 

Outside USA add $10 per copy 

CAandMA res. add applicable sales lax $ _ 

Amount enclosed: $ _ 

This price includes shipping to all US cities 
Payment: VISA MC Bank Draft Check 
Credit card expiration date: / 

. . 

. 


You must have an IBM or true compatible running 
DOS 2.0 or later.** 

My computer's name and model is: 


CIRCLE NO. 252 ON READER SERVICE CARD 





















Aztec C... The Best C 

Frees the genius inyou 


You’ve got a great idea ... 

... you’re ready to write your programs. 

You don’t want to be sidetracked by all the paper¬ 
work. With Manx Aztec C and the ingenious make 
function, your creative processes won’t get bogged 
down in program administration and housekeeping. 
Manx Aztec C has the most sophisticated, hardwork¬ 
ing program administrator available to you. Once 
you’ve described your project, adding new features or 
enhancements is simple. You never have to concern 
yourself with the repetitive, tedious task of rebuild¬ 
ing your systems. 

The development process moves quickly. Com¬ 
piles, assemblies, link edits ... all finish in record 
time. 

Manx Aztec C is the fastest, most efficient C de¬ 
velopment system in the industry. Benchmarks show 
it... reviews commend it... users praise it. 

You’re ready to test the program. You’re ahead of 
schedule. The Manx Aztec C Source Level Debugger 
shows you the exact C language statement giving you 
a problem. You fix the problem quickly ... you’re 
still ahead of schedule. 


“ ... a superb linker, a profiler, an assembler, 
and a set of development utilities are only the be¬ 
ginning of this package ... performed admirably 
on the benchmarks, with short compile times and 
the best link times in this review ... includes the 
most professional make utility ... documentation 
is clear and complete. There is no doubt that this 
is a valuable and powerful programming en¬ 
vironment.” Computer Languages Feb. ’86 

"... execution times are very good, close to the 
best on most tests ...” PC Tech Journal Jan. ’86 

“ Easily one of the fastest compilers overall... 
library provides a lot of flexibility ... generates 
small .EXE files.” Dr. Dobbs Journal Aug. ’85 

C’Prime (Compiler, Assembler, Linker) $ 99. 

Aztec C 86-d Developer’s System $299. 

Aztec C 86-c Commercial System $499. 

PC ROM (8086, 68000, 8080, or 6502) $750. 

Third Party Software for Aztec C: HALO, PHACT, C-tree, 
PRE-C. Windows for C, PC-lint, PANEL, Greenleaf, db Vista, 
C-terp, Plink-86, FirsTime, C Util Lib, 
and others. 



Manx Software Systems 
One Industrial Way 
Eatontown, NJ 07724 


MS is a registered TM of Microsoft. Inc.. CP/M TM DRI. HALO TM Media Cybernetics. PANELTM 
Roundhill Computer Systems. Ltd., PHACT TM PHACT Assoc.. PRE-C. Plink-86 TM Phoenix, db 
Vista TM Raima Corp., C-terp. PC-lint. TM Gimpel Software. C-tree TM Faircom. Inc., Windows for 
C TM Creative Solutions, Apple II. Macintosh TM Apple. Inc.. TRS-80 TM Radio Shack. Amiga TM 
Commodore Int'l. 

CIRCLE NO. 208 ON READER SERVICE CARD 


You’ve got some time for fine tuning. 
The Manx Aztec C Profiler examines 
your program, tells you where the slow 
spots are and validates your test pro¬ 
cedure. A few changes and it’s exactly 
what you wanted. 

You’ve made it! 


Aztec C is available for MS-DOS/PC 
DOS. Call for details on Macintosh, 
Amiga, Apple II, CP/M-80, 

CP/M-86, TRS-80, ROM and others. 


To order, or, for information 

Call Today 

1 - 800 - 221-0440 

In NJ or outside the USA call 
(201)542-2121 

30-day satisfaction guarantee. Special Discounts 
are available to professors, students, independent 
developers, and on a “trade-in” basis. Site licenses. 










TECH RELEASES 



Version 5.1 of Microsoft LISP 



Intel's Product Guide collection 


Microsoft Corporation has announced 
LISP version 5.1. This update of the 
muLISP software created by Soft Ware¬ 
house, Inc. includes a greater number 
of primitives, expanded memory capac¬ 
ity (up to 512KB), support for Common 
LISP, expanded arithmetic capabilities, 
an improved symbolic debugger, faster 
list sorting, and split-screen capabilities. 
$250; upgrade for muLISP, $100. 
Microsoft Corporation, 10700 Northup 
Way, Box 97200, Bellevue, WA 98009; 
206/828-8080 
CIRCLE 334 ON READER SERVICE CARD 

lets c from Mark Williams Company 

is a complete implementation of the C 
language that includes recent extensions 
to C, a standard library, full UNIX com¬ 
patibility, and English language error 
messages, let s c features a MicroEMACS 
full-screen editor and source code. $75. 
Mark Williams Company, 1430 W. 
Wrightwood Avenue, Chicago, IL 60614; 
312/472-6659 

CIRCLE 336 ON READER SERVICE CARD 

The entire Visual Engineering, Inc. 

graphics line is being marketed now for 
use on the RT/PC. Visual:GKS, based on 
the graphics kernel system, is a subrou¬ 
tine library that allows systems program¬ 
mers to take advantage of a predefined 
set of graphics capabilities. Visual:C- 
Chart is a presentation tool for devel¬ 
oping business and scientific graphics 
applications. Visual:ProChart is a pres¬ 
entation quality charting system for the 
nonprogrammer. Visual:GeniSys is a 
library of 3-D rendering functions for 
applications in scientific and engineer¬ 
ing analysis and simulation, architectural 
design, mechanical engineering, prod¬ 
uct design, facilities planning, and ani¬ 
mation. All of these products use 
VisualiGraphCap, a knowledge-based 
management system that enables the RT/ 
PC to support these graphics devices 
without Software or hardware conver¬ 
sion. VisuaLGKS, $695; VisuaLC-Chart, 


$1,500; VisuaLProChart, $1,750; 

Visual:GeniSys, $8,000 to $12,000. 

Visual Engineering, Inc., 2680 N. First 
Street, Suite 200, San Jose, CA 95134; 
408/945-9055 

CIRCLE 338 ON READER SERVICE CARD 

Arity Corporation has announced five 
new artificial intelligence products that 
are fully integrated and preinterfaced. 
The SQL Development Package is a 
complete implementation of the SQL 
database language for use with Arity/ 
Prolog to build intelligent database 
applications. The Expert Systems De¬ 
velopment Package is an advanced 
expert system development tool that 
supports a frame-based knowledge 
representation as well as both rule and 
inheritance-oriented reasoning. The 
Screen Design Toolkit contains 
source and object code to allow the de¬ 
veloper to design and lay out screens 
and procedures for building menus and 
windows. The File Interchange Tool¬ 
kit gives programs written in Arity/Pro- 
log the ability to read and write files 
written with other software, such as 
Lotus 1-2-3 or dBASE m. The Standard 
Prolog is a tutorial level Prolog product 
with introductory text. SQL Develop¬ 
ment Package, $295; Expert Systems De¬ 
velopment Package, $295; Screen Design 
Toolkit, $49.95; File Interchange Toolkit, 
$49.95; Standard Prolog, $95. 

Arity Corporation, 358 Baker Avenue, 
Concord, MA 01742; 617/371-1243 

CIRCLE 333 ON READER SERVICE CARD 

IntelliCorp has announced an agree¬ 
ment with IBM to port the Knowledge 
Engineering Environment (KEE) 

system to the IBM RT/PC. KEE enables 
users to develop and/or deliver original 
artificial intelligence applications, 
including expert systems. 

IntelliCorp, 1975 El Camino Real W. 
Mountain View, CA 94040-2216; 
415/965-5500 

CIRCLE 337 ON READER SERVICE CARD 


StruBAS provides structured program¬ 
ming facilities, full screen handling, 
indexed files, and menus. Introduced by 
Laney Systems, Inc., this structured 
BASIC development system is designed 
to complement the BASIC compiler, 
BASICA, and Microsoft Quick BASIC. A 
preprocessor translates BASIC to Micro¬ 
soft BASIC. Full cursor control, editing, 
field ordering, color control, and valida¬ 
tion with rotation through values are 
supported. It features a utility that sup¬ 
ports unlimited menu levels, a file main¬ 
tenance program generator, develop¬ 
ment menus, an ISAM rebuild utility, a 
source indent utility, subroutines, and a 
sample application. $150. 

Laney Systems, Inc., 3 Office Park Drive, 
Suite 105, Little Rock, AR 72211; 
501/225-7755 

CIRCLE 332 ON READER SERVICE CARD 


OTHERWARE 

Intel Corporation has released the 
Product Guide, a detailed overview of 
all products available from the com¬ 
pany. This set of handbooks contains 
data sheets, applications notes, article 
reprints, and other design information 
and is intended to keep users up to date 
on the Intel product line. The series 
consists of ten books that can be pur¬ 
chased separately or as a complete set. 
Set of ten books, $120. 

Intel Corporation, 3065 Bowers Avenue, 
Santa Clara, CA 95051; 800/548-4725; 
408/987-8080 

CIRCLE 340 ON READER SERVICE CARD 

Erratum: In the hardware section of 
the March 1986 Tech Releases, the price 

of Emerald Technology Group’s 

PC/5251 MATE-48 should be $1,995. i! 111 —I 


The material that appears in Tech Releases is 
based on vendor-supplied information. These 
products have not been reviewed by the PC 
Tech Journal editorial staff. 


MAY 1986 


41 















Framework II Hayes 


Hewlett-Packard 

LaserJet 



TnVon Pinrr MiCIOSOft 

loken King W ord 


3+ 



Wordstar 
2000 



Epson 





NEC 


ATScT AppleTalk 


Finally a network th 


Thanks to 3+. 

The multi-user PC network operating 
system that conforms to all the standards. And 
plays all the greats. 

So you can build a network any way 
you want. Because 3+ implements the Microsoft 
Redirectoi; PC/MS-DOS 3.1 and more. To 
deliver true multi-user file sharing. 

In fact, 3+ gives you everything DOS 3.1 
does. “Plus” a whole lot more. 

Such as internetworking. To link multiple 
local area networks over ordinary phone lines. 


And remote PC access. So you can use 
the network even if you’re working at home or on 
the road. 

Electronic mail, too. To send information 
to any user on any of your networks. Whether 
they’re across the building—or the country. 

And if you have an IBM mainframe, get 
our 3+3270 and you’re into the corporate 
databank. 

We could go on. But you get the idea. 
The 3+ family is the most complete and com¬ 
patible network operating software you can buy. 


3+ support of AppleTalk and Token Ring will be available in mid-1986. WordPerfect is a trademark of SSI Software. Sidekick is a registered trademark of Borland International. Open Systems is a trademark of Open Systems, 
Inc., a UCCEL Company. Rellex is a trademark of Borland/Analytica, Inc. Framework II and dBASE III PLUS are trademarks of AshtonTate. Hayes is a registered trademark of Hayes Microcomputer Products. Inc. 
Hewlett-Packard is a registered trademark and LaserJet is a trademark of Hewlett Packard Company. IBM is a registered trademark and PC-DOS and AT are trademarks of International Business Machines Corp. Xerox is a 
registered trademark of Xerox Corp. ALLOY is a trademark of Alloy Computer Products, Inc. Microsoft and Multiplan are registered trademarks and Microsoft Word and MS-DOS are trademarks of Microsoft Corp. 
COMPAQ is a registered trademark and COMPAQ Deskpro is a trademark of COMPAQ Computer Corp. MultiMate is a trademark of MultiMate International. WordStar 2000 is a trademark of Micropro International Corp. 



IBM 


Ethernet ALLOY 


COMPAQ 


dBASE III 
PLUS 


MultiMate 


STAELAN Symphony l2^ 193 G 


3Server Lotus 123 E 


at plays all the greats. 


In fact, there’s only one other thing 
you’ll want. A way to manage your network com¬ 
munications, files, printers and backup. 

We have that, too. In our 3Server family 
of dedicated network servers. Each delivers 
maximum network performance for 5 to 50 users. 
Or, thanks to 3+ versatility, you can use PC 
ATs or compatibles. 

Best of all, 3+ is brought to you by 
3Com. The most experienced supplier of PC 
networking products. With the largest installed 
base of PC networks in the world. 


So why settle for half a network solution? 
Or a proprietary approach that locks you into 
a dead end? 

See your nearest 3Com dealer instead. 
For the name and address of the one nearest you, 
call l-800-NET-3Com. 

Because in networking, there’s only one 
way you can have it all. 

3Com 


CIRCLE NO. 186 ON READER SERVICE CARD 

Epson is a registered trademark of Epson America, Inc. AT&T is a registered trademark and STARLAN is a trademark of AT&T. 123 and Symphony are registered trademarks of Lotus Development Corp. Okidata and 
Microline are trademarks of Okidata, an OKI AMERICA Company. NEC is a registered trademark of NEC Corp. AppleTalk is a trademark of Apple Computer, Inc. R:BASE Series is a trademark of Microrim, Inc. 
TEAM-UP is a trademark of Unlimited Processing, Inc. Higgins is a trademark of Conetic Systems, Inc.The Bernoulli Box is a registered trademark of IOMEGA Corp. Great Plains is a trademark of Great Plains Software, 
Inc. DataFlex is a trademark of Data Access, Inc. Power-base is a trademark of Powerbase Systems. Inc. PROGRESS is a trademark of Data Language Corp. Diablo is a registered trademark of Xerox Corp. 3Com is a 
registered trademark and 3+ and 3Server are trademarks of 3Com Corp. EasyPlus and SuperProject are trademarks of Computer Associates, Inc. © 1986 3Com Corporation. 





The personal computer 
that raised high performance 

to new heights. 


If you work with high volumes of information, 
you need answers fast. 


You need a personal computer that’s up 
to the task. 

Which is why IBM created the Personal 
Computer AT® system. It’s changed a lot of 
ideas about business computing. 

The idea of “fast” has become much 
faster. The idea of “data capacity” has 
become far greater. 

There are new definitions of “power” in a 
stand-alone PC. While phrases like “sharing 
files” and “multi-user systems” are being 
heard more often. 

And surprisingly, words like “affordable” 
and “state-of-the-art”are being used together. 

Clearly, the Personal Computer AT is 
different from anything that came before. 
And what sets it apart can be neatly summed 
up in two words. 

Advanced Technology. 

If you’ve ever used a personal computer 
before, you’ll notice the advances right away. 

To begin with, the Personal Computer AT 
is extraordinarily fast. That’s something 
you’ll appreciate every time you recalculate a 
spreadsheet. Or search through a data base. 

It can store mountains of information — 
literally thousands of pages’ worth—with a 
single “hard file” (fixed disk). And now you 
can customize your system to store up to 


30,000 pages with the addition of a second 
hard file. 

The Personal Computer AT runs many of 
the thousands of programs written for the 
IBM PC family. Like IBM’s TopView, the 
program that lets you run and “window” 
several other programs at once. 

Perhaps best of all, it works well with both 
the IBM PC and PC/XT. Which is welcome 
news if you’ve already made an investment in 
computers. 

You can connect a Personal Computer AT 
to the IBM PC Network, to share files, 
printers and other peripherals with other 
IBM PCs. 

You can also use a Personal Computer AT 
as the centerpiece of a three-user system, 
with your existing IBM PCs as workstations. 

Most important, only the Personal 
Computer AT offers these capabilities and 
IBM’s commitment to quality, service and 
support. (A combination that can’t be 
cloned.) 

If you’d like to learn more about the IBM 
Personal Computer AT, see your Authorized 
IBM PC Dealer, IBM Product Center or IBM 
marketing representative. For a store near 
you, call 1-800-447-4700 (in Alaska, call 
1-800-447-0890). 


The IBM Personal Computer AT, 
for Advanced Technology. 


Little Tramp character licensed by Bubbles Inc., s.a. 

IBM.Personal Computer AT PC/XT and TopView are trademarks of International Business Machines Corporation. 



CIRCLE NO. 248 ON READER SERVICE CARD 


©Copyright IBM Corporation 1985 













THE PROGRAMMERS SI10U 



8 Ways 

SORT/MERGE With 
RECORD SELECTION & 
OUTPUT REFORMATTING 

with OPT-TECH SORT 

New 3.0 version is even faster and more 
powerful. Improve your system’s perfor¬ 
mance with OPT-TECH SORT. OPT- 
TECH includes: 

• CALLable and Standalone use 

• All major languages 

• Variable and fixed length 

• Up to 10 sort/select fields 

• Autoselect of RAM or disk 

• Options: dBASE, BTrieve files 

• 1 to 10 files input 

• No software max for 
# records 

• Full memory utilization 

• All common field types 

• Bypass headers, limit sort 

• Inplace sort option 

• Output = Record or keys 

Try what you’re using on an XT: 1,000 
128 byte records, 10 byte key in 33 
seconds. 

MSDOS $135 


Comprehensive Development 
Library 

C-Worthy by Custom Design 
Systems 

C-WORTHY LIBRARY eliminates the 
writing of routine code and frees you to 
work on what makes your programs 
unique. 425 pages of documentation with 
an in-depth tutorial. 

A complete, consistent, and interrelated 
set of subsystems and functions facilitates 
keyboard handling, background proce¬ 
dures, list manipulation, screen handling, 
menu management, windowing, error 
reporting, context-sensitive help, DOS 
interfacing, and MORE. Now you can 
support incompatible machines (like IBM, 
Victor 9000, TI Pro) with the same .EXE 
file and alternate languages (French, Ger¬ 
man, etc.) with the same source code. 

A unique design approach with a complete 
user interface for application program¬ 
ming. No royalties. For Lattice C and 
others. 

MSDOS $295 


C Programmers: 
to Increase Productivity 


C-INDEX B+TREE 
LIBRARY 

Fast, Easy, Flexible Data 
Management 

C-Index can enhance your product de¬ 
velopment by providing powerful, time 
tested data management, straight out of 
the box. 

The C-Index Library delivers high per¬ 
formance B + tree indexing with efficient 
variable length record storage. You get 
full transportable source code, pre-com- 
piled object libraries, and there are no 
royalty charges. Additional features in¬ 
clude random and sequential data access, 
automatic multi-key maintenance, and 
virtual memory buffering. 

C-Index has been used in many applica¬ 
tions and environments: 

Banking, Medical Research, Al, Ac¬ 
counting, CD ROM Access, CAD/CAM, 
and more . . . 

IBM PC/AT, Macintosh, ATT 3B2, 
Sun, VAX, Cray, and more . . . 

C-Index/PIus with source: 

$349 

C-Index/File object code only: 

$89 (MSDOS, MAC) 


First Aid for C Programs 

C Toolset 

Save time and frustration when analyzing 
and manipulating C programs. 

DIFF and CMP - for “intelligent” file 
comparisons. 

XREF - cross references variables by 
function and line. 

C Flow Chart - shows what functions 
call each other. 

C Beautifier - make source more 
readable. 

GREP - search for patterns. 

PP - formats your code so that it is 
easier to read and understand. 

C Util - acts as a general purpose file 
filter. 

Recently improved performance and en¬ 
hanced source portability. 

Portable. Full source code. 

CPM, MSDOS. Mention this 
ad. Only $95 until 7/31/86. 


SOURCE CODE, NO 
ROYALTIES, “FLAT-FILE 
ISAM” OR “NETWORK 
MODEL DBMS” - RAIMA’S 
db_VISTA DATABASE 

Use as a simple, flat-file ISAM — or 
follow the “network model,” optimized 
for speed and efficient disk storage. Re¬ 
duces overhead associated with relational 
models. Multiple key records, fast B-tree 
indexing, virtual memory disk accessing, 

portability. Tailor db_VISTA to your 

needs by using only those features you 
require. Save space. Optional dBASE, 
R:BASE, and ASCII file transfer utilities 

. make moving to db_VISTA a snap. 

MSDOS, UNIX, XENIX, Macintosh. 

Single user source $459. Object 
$179 

Multiuser source $929. Object 
$450 


C DYNAMO! 

WINDOWING: Full C Source, 
No Royalties 

POWER WINDOWS AND C 
FUNCTION LIBRARY 

Power Windows covers all the bases: over¬ 
lays, borders, 1-2-3 style or pop-up menus/ 
help windows, zap instantly on/off screen, 
status lines, horizontal/vertical scrolling, 
color control or highlighting, word-wrap, 
files to windows, keyboard to windows. 
Powerful, easy to use, integrated error 
messages, thorough documentation. Sup¬ 
ports IBM monochrome or color. 

MSDOS. Only $119. 

C Function Library - includes 325 funda¬ 
mental functions with readable source 
and thorough documentation. 

MSDOS. Only $119. 

No matter what you have, you need these. 
Best value available. Highly recom¬ 
mended! 


Full Screen library Plus Fundamentals 
THE HAMMER LIBRARY 

1-2-3 menus (even multilevel), data validation including range checking, field editing, 
and Full Screen input make this a thorough screen library. Data entry routines let you 
move between fields before completing screen. But you also get DOS and BIOS access, 
file handling, string functions, and data handling. Plus pattern matching calls and library 
handling utilities. Full source, no royalties. Data entry routines for solid interface with 
user. Specify MS C, Lattice, CI-C86, Desmet, MW C. 

MSDOS. A lot for only $179 

Looking for the right tool for the job? Reach for THE HAMMER. 


Even for Small Files: Convenient, Fast Access 
CBTREE — Only $99 

Why spend time writing file management code when you can use consistent, flexible, 
documented, professional functions? Even multiuser record locking and variable-length 
records are supported. 

Add, delete, and update without needing to reindex. Store keys and record locations in 
B1 trees. 

You can access any record or group of records by the value of a user specific key. Search 
your files from any point, forward or backward. 

Full, balanced b-tree support includes use of multiple keys, unlimited number and length 
of keys. 

Use this powerful ISAM, even if you’ve previously done without. 

Learn how to write systems for managing large files by using CBTREE source as a guide. 
Modify it and transfer it to another operating environment without royalties. 

MSDOS 


Dear C Programmer: 

You want the best development software for your needs. These products will help you: 

• Speed your development efforts • Increase productivity 

• Write even better programs • Reduce your programming frustration 

We carry over 100 C compilers, interpreters, support libraries, debuggers, and addons, specifically designed for C programmers using MSDOS 
or PCDOS. Call one of our knowledgeable consultants - toll free - for details, comparisons, or for one of our specially prepared packets on C. 
There is no obligation. You must be completely satisfied with the products you purchase or you will receive a full refund or replacement. You 
risk nothing with our 31 day risk-free trial on any product in this ad. 

Yours for more productive programming. 



Bruce W. Lynch, President 

Call for a catalog, literature, advice and service you can trust 


NEW HOURS 

8:30 AM-8:00 PM EST. 


800 - 421-8006 

THE PROGRAMMER’S SHOP™ 

128- P Rockland Street. Hanover, MA 02339 
Mass: 800-442-8070 or 617-826-7531 1285 


“You’ve got everything I’ve heard of, and much 1 
haven’t! . . . Normally, I expect my money to be 
“fan letter” enough, but you people are SUPER!” 

— Shel Hall 
Artell Corp. 


CIRCLE NO. 220 ON READER SERVICE CARD 












MICHAEL ABRASH 


Bit Rotation Speeds 

When programming rotations in assembly language, the prefetch 
queue must be considered in order to optimize execution time. 


S pecifications for the 8088 state that the assembly language 
instruction ROL AX,1 (which rotates the AX register left 
one bit) executes in two cycles, while the instruction ROL 
AX,CL (which rotates AX left the number of bits specified in 
the CL register) requires four advance cycles to load CL, as 
well as the number of cycles determined by CL*4+8, to exe¬ 
cute. Thus, rotation using the first method would seem more 
than twice as fast as using the second. 

Surprisingly, when programming for the PC, this is not 
the case. Table 1 shows the execution times for the code in 
figure 1 when performing rotations of from 0 to 16 bits first 
with ROL AX,1, then with ROL AX,CL. The results indicate that 
for rotations of 5 to 16 bits, the method involving CL is faster. 
Only for rotations of fewer than 4 bits should ROL AX,1 be 
used. This is because, with the 8088, the fetch of the next in¬ 
struction is not built into the instruction execution operation. 
Instead, a bus interface unit (BIU) reads instruction bytes into 
a four-byte prefetch queue. The BIU operates while the exe¬ 
cution unit (EU) is carrying out the current instruction, using 
free memory in the prefetch queue as available. Instruction 
timing specifications are for the EU and assume that the 
instruction byte already has been fetched by the BIU. 

Four clock cycles are required to read a byte from the 
PC’s memory. With most instructions (especially those that ac¬ 
cess memory, because several cycles are required to calculate 
memory addresses), this works well and allows the BIU the 
memory access time it needs to keep up with the EU. The 
8088, however, features instructions that operate only on the 
high-speed internal registers, which causes these instructions 
to execute extremely fast—faster than the BIU can fetch in¬ 
struction bytes. ROL falls into this category of instructions. 

ROL AX,1 executes in two cycles, but it requires four cy¬ 
cles to fetch the next instruction byte from memory. If the 
next instruction is another ROL AX,1, as in a multibit rotate, 
the instruction is two bytes long, and eight memory cycles 
are needed to fetch the next ROL. Thus, multibit rotates re¬ 
quire eight cycles, not two, to rotate by one, because the EU 
must wait for the BIU to fetch the next instruction. ROL 
AX,CL, however, does require only the specified four cycles 
because once the instruction is fetched, it is executed repeat¬ 
edly until the rotation is complete. Moreover, because mem¬ 
ory is free during the execution of ROL AX,CL, the next four 
instruction bytes can be prefetched, then executed as soon as 
the rotation is complete. Thus, rotation by CL is preferable. 

The method used to fetch instructions also can prove a 
bottleneck with other examples involving register-only oper¬ 
ands. Any instruction that takes fewer than four cycles per in¬ 
struction byte to execute depletes the prefetch queue. Hm^wi 


Michael Abrash is a senior software engineer for Tseng Laboratories. 


TABLE 1: Rotation Benchmarks 


NUMBER OF 
ROTATIONS (N) 

ROTATED BY 

CL COUNT=N 

ROTATED N 
TIMES BY 1 

0 

165 

97 

1 

173 

129 

2 

193 

165 

3 

217 

192 

4 

231 

231 

3 

247 

270 

6 

265 

289 

7 

289 

337 

8 

289 

371 

9 

309 

404 

10 

324 

433 

11 

347 

474 

12 

361 

505 

13 

372 

541 

14 

385 

577 

13 

408 

609 

16 

423 

643 


Repeated use of ROL AX,1 depletes the prefetch queue and 
slows execution. ROL AX,CL takes longer to execute, giving 
the BIU time to refill the prefetch queue. Thus, ROL AX,CL 
is faster for rotates of four or more bits. 


FIGURE 1: Benchmark Code 


SUB 

CX,CX 


MOV 

DX,CX 


MOV 

AH,1 


INT 

1AH ; 

: set clock to 0 

MOV 

BX,10H ; 

: repeat rotate 10h*10000h 

LP1: 


■ times for timing 

SUB 

DX,DX 


LP2: 



; insert either 

rotate by cl or 

; equivalent # of rotate by I's 

******** either 

******* 


MOV 

CL,2 j 

; change cl for desired 

ROL 

AX,CL ; 

; # OF ROTATES 

.********* OR ********* 


ROL 

AX, 1 

; insert desired # of 

ROL 

AX, 1 

; rotates by 1 

;**** but NOT BOTH **** 


DEC 

DX 


JNZ 

LP2 


DEC 

BX 


JNZ 

LP1 


SUB 

AH,AH 


INT 

1AH 

; get clock ticks in CX:DX 


This assembly language code fragment uses the system clock 
in order to time the ROL operator. 


MAY 1986 


47 





























Optional 




“Getting those features onto 
one card would seem to 
require more magic than 
engineering experience. 

Even The Companion Card 
software has features beyond 
what you expect from other 
expanded memory boards." 

PC Magazine 
January 14. 1986 




far 




From MEGAOMEGA SYSTEMS INC 


Featuring: 

2 MEGABYTES OF EXPANDED MEMORY" 

Battery Back-Up Clock/Calendar 
Serial Port 
Parallel Port 

CIRCLE NO. 141 ON READER SERVICE CARD 

___ Game Port ___ 


Prices Subject to Change Without Notice. 


Made In U.S.A. 


NEW LOW PRICE 
$495. USA DOLLARS 


ORDER TODAY: 
(214)828-0960 




Lattice is a famous 
name in the world of 
high quality programmer’s 
tools. As an authorized distribu¬ 
tor of Lattice products, we at 
Programmer’s Connection are pleased 
to be your source for their complete line 
of IBM Personal Computer software. All 
of these products come with full manufac¬ 
turer’s support directly from Lattice, Incorporated. 


Exclusive Special Offer from 
Programmer’s Connection: Pur¬ 
chase a Lattice C compiler and re¬ 
ceive a FREE copy of SecretDisk, Lattice’s 
new file encryption and security package. 
Order soon, this offer expires on May 30,1986. 


LIST OURS 

Lattice C Compiler 500 299 

(Includes Free SecretDisk) with Library Source Code 900 549 

Popular, industry standard C compiler that features fast compilation, efficient code 
generation, support for 80186/286 instructions and inline support of 8087/287 
instructions. The latest version now supports void, enum, unsigned as a modifier 
and function prototype checking. The library contains more than 325 functions 
compatible with UNIX, XENIX and the proposed ANSI standard, plus extensive 
support for MS-DOS versions 2.+ and 3.+. Other useful Lattice C features include 
support for nested comments, extended symbol length and multiple memory 
models. It comes with an object module disassembler, a function extract utility, a 
full set of libraries for each supported memory model, sample programs and 
extensive documentation. Requires 128K memory. Exclusive special offer: pur¬ 
chase a Lattice C compiler and receive a FREE copy of Lattice SecretDisk. Offer 
expires on May 30,1986. 

^ r ■ 1 Binary 150 99 

4 !)vThe C-Food Smorgasbord with source code 300 195 

General C function library featuring BCD (binary coded decimal) arithmetic, level 0 
I/O, BIOS interface, terminal independence, directory, clock, string and other 
miscellaneous functions. No royalties. For use with Lattice C. 


RPG II Compiler 750 595 

RPGII compiler for MS-DOS that is compatible with IBM System III, System /34 and 
System/36 RPG II compilers. Special PC extensions include support for standard 
MS-DOS files, keyboard, function keys and string handling. ISAM files are 
compatible with dBC III and dBase III files. Requires 192K memory. 

SecretDisk 60 49 

File security utility for providing complete security for sensitive information on a 
floppy or hard disk system. You can use either the international Data Encryption 
Standard (DES) or Lattice’s own Fast encryption algorithm for higher speed 
operation. It’s loaded as a DOS device driver and creates new logical DOS drives 
where all files are fully encrypted. A password is entered when the system is 
booted and protection can be switched on and off with a single password 
controlled command line. Without the password, there is no known way to access 
the encrypted files! Multiple protected areas may be created using different 
passwords and data backup may be made in either encrypted or unencrypted 
mode. It does not interfere with normal access to the computer system or to files 
that are not encrypted. Special Limited-time Offer: Purchase a copy of Lattice C 
and receive a FREE copy of SecretDisk! See description for Lattice C above. 



C-SPRITE 175 139 

Program debugger with source level support for Lattice C that includes help 
screens, macros, command files, conditional commands, debugging through a 
COM port and support for Plink86 overlays. The source mode supports all 
debugging functions including disassemble, single-step and breakpoints. The 
data types of symbols may be completely specified so that variables can be 
properly displayed. There is also complete assembly language support providing 
direct access to machine addresses and instructions. Requires 256K memory. 
Specify C compiler: Lattice or Microsoft. 

♦ Binary 125 99 

Curses Screen Manager with source code 250 199 

Library of C screen interface functions compatible with curses packages on UNIX 
systems. You can keep and update any number of full or partial virtual screen 
images in memory and display them as needed. Functions are provided to write 
text to virtual screens, move the cursors, scroll the screens, overlay screens, 
outline, insert, delete, clear and highlight. No royalties. For use with Lattice C. 


♦ dBC II or 
dBC III 


Binary 250 199 

with Source Code 500 395 


Complete C library of ISAM file management functions for creating and manipu¬ 
lating dBase compatible files. You can easily add, update, delete, retrieve and 
organize records and indexes in dBase format. Up to eight data and eight index 
files may be opened and processed simultaneously. Specify dBC II for dBase II 
type files or dBC III for dBase III type files. No royalties. Requires 128K memory. 
Specify C compiler: Lattice, Microsoft, Computer Innovations or DeSmet. 


^ LMK Make Utility 195 149 

Programming utility to rebuild programs after changes have been made to source 
files. First, you create a text file consisting of macro definitions, dependency 
descriptions and executable commands. Then, whenever you make changes to 
your program, LMK determines which source files need to be recompiled and 
automatically creates the new program. Requires 128K memory and may be used 
with any compiler or assembler. 

LSE Screen Editor 125 99 

Multi-window programmer’s editor with block moves, pattern searching and "cut 
and paste." You can remap any of LSE’s 48 keystrokes to suit your own 
preferences and define your own keyboard macros and default file extensions. 
The menus, prompts and help messages used in the system can all be customized. 
Special features include a Lattice C error tracking mode and three assembly 
language input modes. Requires 128K memory. 


SideTalk 120 95 

Pop-up telecommunications package that can be accessed from inside any 
application with a single keystroke. It incorporates the SideTalk Communications 
Language (SCL) consisting of BASIC-like commands that allow you to create your 
own communications processing system. It provides for multitasking (background) 
operation, file transfer capabilities, text transfer from background to foreground 
and DOS commands available in background. Requires less than 64K available 
memory. 

.. Text Management Utilities 120 95 

Includes four text management utilities found under UNIX. The first utility is grep 
(global regular expression search and print). You provide it with a pattern to find 
and it displays each line containing that pattern with its line number in that file. In 
addition, these functions are provided as Lattice C object libraries. The second 
utility is DIFF, a differential file comparator. It compares two files and determines 
how they differ from one another. The third utility is ED, a line editor and the fourth 
utility is WC, a simple word count facility for counting the number of characters, 
words and lines in a file. Requires 128K memory. 


'^^TopView Toolbasket: 


Binary 250 199 

with Source Code 500 395 


Library of C functions for simplifying programming in IBM’s TopView environment. 
It gives you easy access to TopView’s window, cursor, pointer facilities, cut-and- 
paste services and printer control services. It deals with TopView objects through 
a central dispatching function that can be tailored to your application. Includes 
excellent error checking and debugging support. Requires 256K memory (512K 
recommended). For use with Lattice C. 



CALL TOLL FREE 

800 * 336 * 1166 

_U.S. OHIO 216-877-3781 

1 * 1800 * 885*1166 

■ZJ CANADA 

*ammer*s 


[Fyjjiprogi 

l9conm 


connection 


Lattice is a trademark of Lattice, Incorporated. 

Turn the page for a wide selection of programmer’s development tools exclusively for IBM Personal Computers and compatibles. 

















PROGRAMMER DEVELOPMENT 

Shipping Charge* 
Handling Charge 
Insurance Charge 
Credit Card Charge 
C.O.D. Charge 
Purchase Order Charge 
Hidden Charges 
Risk Guarantee I 

*When shipping via standard United Parcel Service. 



apl language 


APL*PLUS/PC System by STSC . 595 

APL*PLUS/PC Tools Vol 1 by STSC . 295 

APL*PLUS/PC Tools Vol 2 by STSC . 150 

APL*PLUS/UNX System by STSC . For AT Xenix 995 

Btrieve ISAM File Mgr by SoftCraft . New version 250 

Financial/Statistical Library by STSC . 275 

FRESCO Business Graphics System by Mr. APL . 300 

Pocket APL by STSC . 95 

STATGRAPHICS by STSC . 695 

artificial intelligence 

ExpertEASE by Human Edge . New 695 

ExpertEDGE by Human Edge. New 795 

Experteach by Intelliware . Complete System 475 

EXSYS Expert System Development Software . 395 

GCLISP Golden Common LISP by Gold Hill . All models CALL 

Insight I by Level Five Research . Al Primer 95 

Insight II by Level Five Research . 485 

LISP by Microsoft . New Common Lisp 250 

Methods Smalltalk-based Prototyping by Digitalk . 250 

MicroProlog by Programming Logic Associates . New 250 

with APES. 425 

Professional MicroProlog by Programming Logic. New 395 

with APES. 650 

Prolog-86 from Solution Systems . 125 

Prolog-86 Plus from Solution Systems. New 250 

QNIAL by NIAL Systems . New 375 

Small-X by Kaplan . 125 

TransLISP from Solution Systems. New 75 

Turbo Prolog Compiler by Borland International. New 100 

assemblers and debuggers 

8088 Assembler w/Z-80 Translator by 2500 AD . 100 

Advanced Trace-86 by Morgan. with ASM Interpreter 175 

Codesmith-86 Debugger by Visual Age . 145 

Cross Assemblers from 2500AD . Over 25 varieties CALL 

Microsoft Macro Assembler with utilities. 150 

Periscope I Debugger by Data Base Decisions . 295 

Periscope II by Data Base Decisions . 145 

The PROFILER by DWB Associates. Includes source 125 

Turbo EDITASM Fast Assembler by Speed ware . 99 

Visible Computer: 8088 by Software Masters. 80 

basic language 

BetterBASIC by Summit Software ... Now BASICA Compatible 200 

8087 Math Support. 99 

Btrieve Interface . Used with Btrieve 99 

C Interface . New CALL 

Run-time Module . 250 

Microsoft QuickBASIC Compiler. BASICA Compatible 99 

Professional BASIC by Morgan . 99 

8087 Math Support. 50 

True Basic from Addison-Wesley . 150 

Run-time Module . 500 

blaise products 

Asynch Manager for Cor Pascal . 175 

C Tools . 125 

C Tools 2 . 100 

Combination package . Special Price 175 

Exec Program Chainer . 95 

Pascal Tools . 125 

Pascal Tools 2. 100 

Turbo ASYNCH for Turbo Pascal . 100 

Turbo POWER TOOLS for Turbo Pascal . 100 

View Manager for C or Pascal . 275 

with Source Code . Special Price 295 

borland products 

REFLEX Data Base System . New 99 

Turbo DATABASE TOOLBOX . 55 

Turbo EDITOR TOOLBOX . 70 

Turbo GAMEWORKS TOOLBOX . 70 

Turbo GRAPHIX TOOLBOX . 55 

Turbo LIGHTNING . 99 

Turbo PASCAL . 70 

with 8087 or BCD . 110 

with 8087 & BCD. 125 

Turbo Prolog Compiler . New 100 

Turbo TUTOR for Turbo PASCAL . 35 


OURS 

449 

239 

129 

795 

195 

219 

269 

79 

539 


589 

659 

389 

339 

CALL 

75 

389 

189 

209 

219 

369 

349 

569 

CALL 

CALL 

359 

99 

CALL 

CALL 


89 

139 

109 

CALL 

99 

249 

115 

95 

84 

65 


165 

85 

85 

CALL 

225 

79 

79 

47 

105 

435 


139 

105 

84 

149 

79 

105 

84 

84 

84 

209 

239 


75 

38 

54 

54 

38 

75 

49 

77 

84 

CALL 

28 


TOOLS FOR THE IOM-PC/XT/AT 

and compatibles. 


c compilers 

C-86 Compiler . See Computer Innovations Section 


Datalight C Compiler with large memory model . New 

DeSmet C Compiler w/Source Debugger . 

Eco-C Complete Development System by Ecosoft . 

Lattice C with Free SecretDisk . See Feature Page 

Let’s C Compiler by Mark Williams. 

with csd Source Level Debugger . 

MWC-86 by Mark Williams . Special Price 

Microsoft C Compiler with source debugger. . New version 

Wizard C by Wizard Systems . includes lint 

c interpreters 


Instant C by Rational Systems . 

Interactive C by IMPACC Associates . New 

Run/C from Lifeboat . 

Run/C Professional from Lifeboat. 


395 

289 

99 

79 

159 

145 

125 

CALL 

500 

299 

75 

69 

150 

129 

495 

289 

495 

CALL 

450 

369 

300 

239 

500 

379 

249 

219 

150 

99 

250 

189 


c utilities 

Please refer to the following sections for additional products: Blaise, 
Computer Innovations, Lattice, Microsoft, Phoenix, Polytron, SoftCraft and 
Xenix System V. 


Application Programmer’s Toolkit by Shaw American 


BasicC Library by C Source. 

C Essentials by Essential Software . New 

C-lib by vance info systems . 

C Power Packs by Software Horizons . 

c-tree by FairCom. Includes source 


C Utility Library by Essential Software . 

C Windows by Syscom . 

C Wings by Syscom . 

dbVISTA Single-User DBMS by Raima. 

with Source Code . 

dbVISTA Multi-User DBMS by Raima . 

with Source Code . 

Entelekon C Function Library . 

Entelekon C Windows . 

Entelekon Superfonts for C . 

Entelekon Combination Package . 

Essential Graphics by Essential Software. No royalties 
Flash-up Windows by Software Bottling of NY. 


Graphic by Scientific Endeavors. Mono version 2.2 

Graphic by Scientific Endeavors. Color version 3.0 


The Greenleaf Functions by Greenleaf Software. 

Greenleaf Comm Library by Greenleaf Software . 

The HAMMER by OES Systems. 

H.E.L.P. by Everest Solutions. 

MetaWINDOWS by Metagraphics. 

MetaWINDOWS/Plus by Metagraphics. New 

Multi-Halo by Media Cybernetics . Royalties 

On-line Help from Opt-Tech Data . 

PANEL by Roundhill. Library Source Available 

PC Lint by Gimpel Software . 

Scientific Subroutine Library for C by Peerless . 

Vitamin C by Creative Programming. 

VC Screen Forms Designer . Requires Vitamin C 

Windows for C by Vermont Creative Software . 

Windows for Data . Includes Windows for C 

Zview by Data Management Consultants . 

cobol language 

Micro Focus COBOL Workbench . 

Micro Focus Level II COBOL . 

COMATH . 

FORMS-2 . 

Level II Animator. 

Level II FILESHARE . 

Level II SOURCEWRITER . 

Micro Focus Micro/SPF . 

Micro Focus Professional COBOL . 

Microsoft COBOL . See Microsoft Section 

Realia COBOL . New 

RM/COBOL by Ryan-McFarland . 

RM/COBOL 8X ANSI 85 COBOL by Ryan-McFarland ... New 


395 

339 

175 

135 

100 

85 

195 

125 

CALL 

CALL 

395 

329 

185 

139 

100 

89 

50 

45 

195 

159 

495 

429 

495 

429 

990 

849 

130 

115 

130 

115 

50 

45 

200 

175 

250 

219 

75 

69 

280 

219 

350 

299 

185 

135 

185 

135 

195 

175 

90 

79 

185 

139 

235 

199 

300 

219 

149 

119 

295 

229 

139 

109 

175 

139 

150 

139 

99 

85 

195 

139 

295 

199 

245 

199 

4000 

3599 

CALL 

CALL 

200 

169 

300 

269 

1200 

995 

800 

659 

2000 

1689 

175 

159 

3000 

2395 

700 

495 

995 

795 

950 

675 

1250 

995 


computer innovations products 


C-86 Optimizing Compiler . 395 

C to dBase . 150 

Cl Probe Source Level Debugger . 225 

Cl ROM Pack forC-86 . 195 

Introducing C. C Interpreter 125 


fortran language 

ACS Time Series by Alpha Computer Service . 495 


Btrieve ISAM File Mgr . See SoftCraft Section 

For-Winds by Alpha Computer Service . 90 

Forlib-Plus by Alpha Computer Service. 70 

Microsoft Fortran . Links with Microsoft C 350 

MORE FORTRAN by Peerless Engineering . New 125 

Multi-Halo by Media Cybernetics . Royalties 300 

PANEL Screen Designer by Roundhill . 295 

PC Fortran Tools by Stat Com Systems. New 179 

PolyFortran Tools by Polytron . 179 

RM/Fortran by Ryan-McFarland . 595 

Scientific Subroutine Library by Peerless . 175 


Scientific Subroutine Package by Alpha Computer . 295 

The Statistician by Alpha Computer Service. 295 

Strings & Things by Alpha Computer Service . 70 


289 

139 

199 

149 

105 


429 

79 

55 

215 

99 

219 

229 

159 

139 

395 

139 

259 

259 

55 




























































































































































lattice products 

Refer to our feature page preceding this spread for more information. 

Lattice C Compiler . with Free Lattice SecretDisk 

with Library Source Code . 

C Cross Reference Generator . 

with Source Code . New 

C-Food Smorgasbord Function Library . 

with Source Code . 

C-Sprite Source Level Debugger . 

Curses Screen Manager . 

with Source Code . 

dBC dBase File Manager for C . 

with Source Code . 

LMK Make Facility . 

LSE Screen Editor . New 

RPG II Compiler . 

SecretDisk File Security . Free with Lattice C 

SideTalk Resident Communications . 

Text Mgmt Utilities fGREP / D\FF / ED/WC/Extract/Build) . 

TopView Toolbasket Function Library . 

with Source Code . 

Z-80 C Cross Compiler . New 

with Library Source Code . 

microsoft products 

Microsoft BASIC Interpreter for Xenix . 

Microsoft C Compiler with source debugger . New version 

Microsoft COBOL Compiler . 

Microsoft COBOL Compiler for Xenix . 

Microsoft COBOL Tools . with COBOL Source Debugger 

Microsoft COBOL Tools for Xenix . 

Microsoft Fortran Compiler . Links with Microsoft C 

Microsoft Fortran Compiler for Xenix ..... 

Microsoft LISP. New Common Lisp 

Microsoft Macro Assembler with utilities . 


Microsoft Mouse Bus Version . New 

Microsoft Mouse Serial Version . New 


Microsoft muMath. Includes muSIMP 

Microsoft Pascal Compiler . Links with Microsoft C 

Microsoft Pascal Compiler for Xenix . 

Microsoft Sort . 

Microsoft QuickBASIC Compiler. 

Microsoft Windows. 

modula-2 language 

MODULA-2/86 Compiler by Logitech . 

with 8087 . 

with 512K . 

MODULA-2 Editor by Logitech . 

MODULA-2 Runtime Debugger by Logitech . 

MODULA-2 Source Package by Logitech. 

MODULA-2 Utilities Package by Logitech . 

other products 

Dan Bricklin’s Demo Program by Software Garden ... New 
FASTBACK Backup Utility by 5th Generation Systems .. New 

Interactive EASYFLOW by Haventree Software. New 

Janus/ADA C Pack by R&R Software . 

Janus/ADA D Pack by R&R Software . 

PC/Forth by Laboratory Microsystems . 

PC/Forth+ by Laboratory Microsystems . 

phoenix products 

Authorized Dealer 
Springtime Sale! 


Pasm86 Macro Assembler . 

Pfantasy Pac . Pfinish,Pfix+.PIink+,Pmaker.Pmate,Ptel 

Pfinish Performance Analyzer . 

Pfix-86 Plus Symbolic Debugger . 

PforCe C Function Library . New 

Plink-86 Overlay Linker . 

Plink-86 Plus Overlay Linker . 

Pmaker Program Development Manager . 

Pmate Macro Text Editor . 

Pre-C Lint Utility . 

Ptel Binary File Transfer Program . 

polytron products 

Polytron C Library I . 

Polytron C Beautifier . New 

PolyFORTRAN Tools I. 

PolyLibrarian Library Manager . 

PolyLibrarian II Library Manager .:... 

PolyMake UNIX-like Make Facility . 

PolyOverlay Overlay Optimizer . 


Polytron PowerCom Communications . New 

Poly Windows Developer Kit. New 

PolyWindows Products. All varieties 

PolyXREF Cross Reference Utility . Complete system 


PolyXREF . Support for one language only 

PVCS Polytron Version Control System . 

PVMFM Polytron Virtual Memory File Manager . 


LIST OURS 

500 299 

900 549 

50 39 

200 159 

150 99 

300 195 

175 139 

125 99 

250 199 

250 199 

500 395 

195 149 

125 99 

750 595 

60 49 

120 95 

120 95 

250 199 

500 395 

500 395 

1000 789 


350 279 

495 CALL 


700 

495 

995 

795 

350 

209 

450 

359 

350 

209 

495 

389 

250 

189 

150 

99 

175 

149 

195 

159 

300 

195 

300 

195 

495 

389 

195 

149 

99 

79 

99 

74 

89 

65 

129 

105 

189 

149 

59 

49 

69 

59 

179 

155 

49 

45 


75 

65 

179 

159 

150 

129 

95 

89 

900 

699 

150 

119 

250 

209 


295 

179 

1295 

895 

395 

229 

395 

229 

395 

CALL 

395 

229 

495 

359 

195 

139 

225 

139 

395 

229 

195 

129 

99 

79 

49 

45 

179 

139 

99 

79 

149 

119 

99 

79 

99 

79 

179 

139 

199 

149 

CALL 

CALL 

219 

179 

129 

109 

395 

359 

199 

149 


softcraft products 

Btrieve ISAM File Mgr with no Royalties . New version 

Btrieve/N for Networks . 

Rtrieve Report Generator for Xtrieve . 

Rtrieve/ N Report Generator for Xtrieve/N . 

Xtrieve Query Utility for Btrieve . 

Xtrieve/N Query Utility for Btrieve/N . 


OPT-Tech Sort Works with Btrieve Files . New version 

text editors 

Brief from Solution Systems . 

Epsilon by Lugaru.* New version 

FirsTime for Turbo by Spruce Technology . 

KEDIT by Mansfield Software Group . Like Xedit 

SPF/PC by Command Technology Corp . 

Vedit by CompuView . 

Vedit Plus by CompuView. 

XTC Text Editor by Wendin . Includes source 


turbo pascal utilities 

Please refer to the following sections for additional products: 

Blaise. Borland and SoftCraft. 


(5-86) 

250 195 

595 465 

85 79 

175 159 

195 169 

395 299 

149 119 


195 CALL 
195 165 
75 69 
125 109 
195 165 
150 115 
125 180 
99 84 


ALICE by Software Channels. New Pascal Interpreter 95 85 


FirsTime for Turbo by Spruce Technology . 75 69 

Flash-up Windows by Software Bottling of NY. 75 69 

Multi-Halo Graphics by Media Cybernetics. Royalties 250 CALL 

On-line Help from Opt-Tech Data . 149 119 

Screen Sculptor by Software Bottling of NY . 125 95 

Turbo EXTENDER by TurboPower Software . New 85 69 

Turbo Professional by Sunny Hill Software. 70 49 

TurboRef by Gracon Services . 50 45 

TurboPower Utilities by TurboPower Software . 95 84 

TurboWINDOW by MetaGraphics. 80 69 

XTC Text Editor by Wendin . 99 84 


video training tapes 

These video cassette training tapes are from the Information Factory ana are an excellent 
alternative to expensive classroom training. Specify Beta or VHS. Price includes one student 
manual. Call for more information. 


Computer Literacy . New 400 

Local Area Networks . New 350 

Programmer’s Introduction to C . New 500 

wendin products 

Operating System Toolbox. Build your own OS 99 

PCUNIX Operating System . 99 

PCVMS Operating System . Similar to VAX/VMS 99 

XTC Text Editor . Includes Pascal source code 99 

xenix system v by sco 

Xenix Development System . Specify XT or AT 495 

Xenix Operating System . Specify XT or AT 495 

Xenix Text Processing Package . Specify XT or AT 195 

Complete Xenix System . Specify XT or AT 1085 

xenix languages and utilities 

APL*PLUS/UNX System by STSC . For AT Xenix 995 

Btrieve ISAM File Manager by SoftCraft . 595 

c-tree by FairCom. Includes C source code 395 

Informix by SCO . 995 

Lyrix by SCO . 595 

Microsoft Languages. See Microsoft Section 

Networks for XENIX by SCO . New CALL 

PANEL Screen Designer by Roundhill . For AT Xenix 595 

SCO Professional by SCO . Complete Lotus clone 795 

Windows for C by Vermont Creative Software . 395 

Windows for Data by Vermont Creative Software . 595 


CALL 

CALL 

CALL 

84 

84 

84 

84 

449 

449 

179 

969 


795 

465 

329 

839 

489 

CALL 

539 

695 

359 

539 


We are open until 5 p.m. Pacific Time, (8 p.m. Eastern). 
Purchase Orders are accepted from qualified accounts 
at no extra charge. 

Visa and MasterCard are accepted with no surcharge applied. 
Please include card expiration date when ordering by mail. 

Account is charged when shipped. y 


CALL TOLL FREE 


H 800 * 336*1166 

il.S. OHIO 216-877-3781 



OUR NO RISK GUARANTEE 

If you are not completely satisfied with your purchase you may return it within 30 days. 
All returned products must meet our standards for being in new, resellable condition 
including all paperwork and unused registration card. Products including source code 
are generally excluded by the manufacturer from this guarantee. Please ask for specific 
details when placing your order. 

Prices are subject to change without notice. 



programmer's 

mm* M mmm — fc J-|_ ■ 2 0m*mm* 136 SUNKYSIDE ST. 
C O li ll G Cb I O n HARTVILLE, OHIO 44632 


CIRCLE NO. 175 ON READER SERVICE CARD 









































































































































Data acquisition boards from seven manufacturers 
are examined from a hardware point of view. 
Their specific performance characteristics help a 
user select a suitable board for a given application. 


ERIC M. MILLER 


D ata acquisition boards occupy an 
unusual niche in personal com¬ 
puter applications. They bridge 
the gap between the software world 
and the physical world of continuous 
data. It is this interface to the real 
world, rather than the programming of 
these cards, that is the focus here. Al¬ 
though the software is important in re¬ 
ducing the time to bring a card up and 
accomplish a given task, no amount of 
clever programming can make up for 
fundamental analog hardware instru¬ 
mentation errors and defects. 

The cards reviewed are not test 
and measurement grade instruments— 
they provide only a foundation for 
measurement. The user must add cir¬ 
cuitry to accurately and nonintrusively 
accomplish monitoring and control 
functions. Also note that although a 
wide range of data acquisition systems 
exist that reside in external boxes, this 
review covers only internal products. 
The companies represented are Burr- 
Brown, Data Translation, IBM, Metra- 
Byte Corporation, Scientific Solutions, 


Strawberry Tree Computers, and West¬ 
ern Telecomputing, each with one or 
more boards. (See table 1 for a sum¬ 
mary of the products reviewed and 
their basic features.) None of the manu¬ 
facturers provided sufficient information 
to determine the accuracy of its data ac¬ 
quisition card for an application, nor 
did any offer guidance for determining 
a system’s overall accuracy. 

The standard architecture for a typ¬ 
ical data acquisition board is shown in 
figure 1. The analog input signals are 
sent through to the analog-to-digital 
(A/D) converter via conditioning circuits 
that permit the collected data to be out¬ 
put as required. After some precautions 
involving grounding, attention is turned 
to the analog input channel, then the 
remainder of the I/O. 

Grounding considerations for 
instrumentation work are an important 
aspect in the design of any system. Nor¬ 
mally, the analog ground for the meas¬ 
urement system is isolated from the 
power-line ground; however, none of 
the boards reviewed did so. All of their 


analog and digital I/O grounds are con¬ 
nected to each other and to the power 
line ground inside the PC. Thus, the 
user must exercise considerable caution 
in interfacing to apparatus or sensors 
that also may have a power-line ground 
connection in order to prevent any 
hazards or ground loop currents. 

It is not unusual, especially with 
heavy current consumption devices 
(motors, ovens, etc.) operating from the 
power line, to have a substantial poten¬ 
tial difference, on the order of volts, 
across two power-line receptacles. Mis¬ 
application obviously could seriously 
damage all the attached equipment. 

Differential inputs should be used 
unless a sensor is completely isolated 
from any power-line ground to avoid 
ground-related problems. Even so, the 
analog ground must be connected to 
stay within the input differential com¬ 
mon mode limits. (More information on 
this is available in the references listed 
at the end of this article.) 

Input protection. The first stage of the 
data acquisition board should be the 


52 


PC TECH JOURNAL 


PHOTOGRAPH ‘JOHN LEI 







53 









DIGITIZING 


TABLE 1: Summary> of Basic Features 



BURR-BROWN 
20001 C-2 

20002 

20019 

20003 

20006 

DATA TRANS. 
DT2801-A 

A/D CHARACTERISTICS 

A/D type 3 

N/A 

2 

2 

N/A 

N/A 

2 

Resolution (bits) 

N/A 

12 

12 

N/A 

N/A 

12 

Accuracy (bits) 

N/A 

N/S 

N/S 

N/A 

N/A 

0.05% overall 

Speed (conv./sec) 

No. of channels 

N/A 

25,000 

87,000 

N/A 

N/A 

27,500 

Differential 

N/A 

8 

None 

N/A 

N/A 

8 

Single-ended 

N/A 

16 

8 

N/A 

N/A 

16 

Input ranges (volts) 

N/A 

+/—5, +/-10 
0 to 10 

Gains = 1,10 
100,1,000 

+/-2.5, 
+/-5, +/- 
Oto 5, 

Oto 10 

N/A 

10, 

N/A 

-h/—1.25, -h/—2.5, 
+/—5, +/-10, 

+ 1.25, +2.5 
+5, +10 

D/A CHARACTERISTICS 

No. of D/A on board 

N/A 

N/A 

N/A 

2 

2 

2 

Resolution 

N/A 

N/A 

N/A 

12-bit 

16-bit 

12 

Range (volts) 

N/A 

N/A 

N/A 

+/—5, +/-10 
0 to 10 

+/—5, +/- 
Oto 10 

-10 +/—2.5, +/—5, 
+/-10, +5, +10 

Number of parallel I/O 32 

channels 

TIMER/COUNTER CHARACTERISTICS 

None 

None 

None 

None 

16 

Type 

None 

None 

None 

None 

None 

Int. only 

No. of channels 

N/A 

N/A 

N/A 

N/A 

N/A 

N/A 

No. of bits 

N/A 

N/A 

N/A 

N/A 

N/A 

N/A 

Realtime clock 

None 

None 

None 

None 

None 

None 

Terminal box f 

N/A 

C 

C 

C 

C 

D (on PCB) 

Supports ASYST 

Yes 

N/A 

N/A 

N/A 

N/A 

Yes 

Supp. Lab Tech Note. 

Yes 

N/A 

N/A 

N/A 

N/A 

Yes 

Other Motherbd. Module 

N/A = Not applicable; N/S = Not supplied. 
a Type 1 = integration; type 2 = successive approximation. 
b Can be used for voltage or frequency. 

C 16 output (28 LSTTL loads), 16 input (LSTTL) 
d 32-bit, 1.023 MHz input; 16-bit, DC-2 MHz input. 
e 100 KHz input may be used for voltage or frequency. 
fType A = plastic box with mini-screw clamp connectors. 

Module 

Type B 

Module 

= ribbon cable headers. 

Module 

On-board 8742 

Type C = printed circuit board with mini-screw clamp connectors. 

Type D = barrier terminal ship. 

Type E = with thermocouple compensation. 

^Unshielded cable, screw terminals. 
h 19-inch rack mount. 


input protection circuitry. Accidents do 
happen, so attention should be given to 
this important element. This is espe¬ 
cially true in industrial environments 
where sensors can cross paths with 
power circuits. Most manufacturers of 
data acquisition boards rely solely on 
the small measure of protection offered 
by the multiplexer (typically the Harris 
508A or 506A). It can withstand contin¬ 
uous ± 20 V (volts) over its power sup¬ 
ply voltages. (The typical supply voltage 
used is ±15 V). It also gives superior 
electrostatic discharge protection, up to 
5 or 6 KV (kilovolts). 

Three of the reviewed boards did 
offer external protection: IBM protects 
to ± 30 V, Strawberry Tree to ± 50 V, 
and the MetraByte dascon i to 120 V 
RMS (root mean square) continuous. 
Multiplexers. This next input stage pres¬ 
ents an analog channel to the subse¬ 
quent signal processing circuitry. Ideal¬ 
ly, a multiplexer should look like a 
straight piece of wire between the out¬ 


put and the chosen input. These devices 
can exhibit extremes in performance. 

Multiplexers can produce tempera¬ 
ture-dependent offset voltages in the 
microvolt range, but this affects only 
those systems with high gain (greater 
than 1,000). They have a nasty habit of 
dumping leakage current, typically in 
the 100-pA (picoampere) range, into (or 
out of) the analog input. However, if 
the PC’s expansion slots are filled, the 
temperature inside the box can rise 
dramatically, with a resultant increase in 
leakage current—the amount can dou¬ 
ble every 10 degrees centigrade. 

These devices also present a chang¬ 
ing capacitive load on an analog input 
line when they switch from the on con¬ 
dition to the off. This charge-injection 
effect dumps (or extracts) a packet of 
charge onto the input. Up to 150 pC 
(picocoulombs) of charge can suddenly 
appear on the input, which causes a 
voltage spike of magnitude V = QIC (C 
is the capacitance on the input line). 


For example, if an input line has a 
low 50 pF (picofarads) of capacitance 
associated with it, a 150-pC charge 
dump will cause a 3-V spike. The spike 
will decay, the time constant for which 
depends upon the source resistance. If 
it is low—less than 1 Kfl (kilohm)—no 
problems result, because the spike will 
have disappeared before the sample- 
and-hold grabs the voltage. But, if the 
source resistance is high, the sample- 
and-hold grabs the input voltage plus a 
fraction of the spike. The user must be 
aware of the source resistance, input 
channel capacitance, and charge injec¬ 
tion to be sure the sample-and-hold is 
triggered after the spike has decayed to 
an acceptable level. 

Although often not explicit in data 
sheet or manual, the specifications for 
the data acquisition boards assume a 
zero input impedance. The user must 
calculate the errors produced by the ap¬ 
plication’s nonzero input impedance 
and apply them to the system accuracy. 


54 


PC TECH JOURNAL 












IBM 

BOARD 

METRABYTE 
DASCON 1 

DASH 8 

DASH 16 

SCIEN. SOL. 
LAB MASTER 

STRAWBERRY TREE 
ACPC-14-16 ACPC-16-16 

WEST.TEL. 

ICIS 

2 

1 

2 

2 

2 

1 

1 

1 

12 

12 4- sign 

12 

12 

12 

14 

16 

12 

N/S 

0.01% 

0.01% 

0.01% 

4-/—0.025% 

11 

11 

12 


47-1 bit 

+/-1 bit 

47-1 bit 





15,000 

30 

30,000 

35,000 

30,000 

2.5 (variable) 

200 

10 

4 

4 

None 

8 

8 

16 

16 

I6 b 

None 

None 

8 

16 

16 

None 

None 

None 

0 to 10, 

+/-2.0475 

47-5 

0 to 1, 0 to 2, 

0 to 10, 

0.05, 0.5, 

0.05, 0.5, 

+/-0.01, 

47—5, +/-10 



0 to 5, 0 to 10, 

4-/-10 

10, 4-/—0.025, 

10, 4-/—0.025, 

47-0.1 




4-/—0.5. 47-1, 


4-/—0.25, 

4-/—0.25, 

+/-1, 47-10 




4-/—2.5, 


47-5 

4-/—5 





4-/—5, 47-10 





2 

2 

None 

2 

2 

2 

None 

8 

12-bit 

12 

N/A 

12-bit mult. 

12-bit 

8-bit 

N/A 

12-bit (opt.) 

0 to 10, 

N/S 

N/A 

N/S 

N/S 

N/S 

N/A 

47-10 

47-5, 47-10 








16° 

12 

7 

8 

24 

16 

16 

24 


Two d 

None 

8253-5 

8253-5 

9513 

None 

None 

82C53 

1 per timer 

N/A 

3 

3 

5 

N/A 

N/A 

16 

32, 16 

N/A 

16 

16 

16 

N/A 

N/A 

-e 

None 

1 

None 

None 

None 

1 

1 

1 in software 

D (shielded) 

A 

A 

A 

B 

E« 

E« 

D h 

Yes 

No 

No 

Yes 

Yes 

No 

No 

No 

Yes 

No 

Yes 

Yes 

Yes 

No 

No 

No 

I/O mapped 

N/A 

Half-card 

N/A 

Input expans. 

Expansion by 

Expansion by 

On-board 

only 




(14, 16-bit), 

adding cards 

adding cards 

80C85, opt. 





I/O or memory 


battery 





mapped 





A wide range of data acquisition boards is available for different applications. Applications requiring conversion rates from 2.5 to 
87,000 conversions per second can be accommodated. A variety in the number and type of input channels is offered. 


Multiplexer isolation between 
channels at DC (direct current) to 1 
KHz (kilohertz) is high—typically 
greater than 100 dB (decibels)—but this 
deteriorates rapidly as the frequency of 
the signal increases. The isolation also 
depends upon the impedance seen by 
the on channel. The user need not 
worry if all inputs are driven by low im¬ 
pedance sources. He should be cautious 
if an application requires digitizing not 
only high-level signals in the tens of 
kilohertz range, but low-level signals as 
well. The feed-through from the desel¬ 
ected high-level signal can cause signifi¬ 
cant errors in the low-level reading. 
Good practice indicates that all unused 
analog channels are terminated to 
analog ground. 

The Harris 508A is used on many 
of the reviewed boards (table 2 lists the 
significant components used). It is a 
particularly good choice, but by no 
means perfect. Its strength is that in the 
face of overvoltages and static discharge 


it comes through like a trooper. A sec¬ 
ond nice feature of the 508A is that if a 
deselected channel experiences an 
overvoltage condition, it does not affect 
the present on channel. 

An input multiplexer is not used in 
some applications. To achieve this and 
yet preserve the time relationship 
between various analog inputs, some 
boards use a sample-and-hold amplifier 
for each channel desired. The sample- 
and-holds are strobed simultaneously. A 
back-end multiplexer then allows the 
A/D conversion to occur sequentially to 
complete the data acquisition. None of 
the reviewed boards were designed for 
this configuration, although it is possi¬ 
ble to use some of the Burr-Brown 
modules as a back-end multiplexer. 
Instrumentation amplifier. An IA performs 
two functions: it converts a differential 
input to a single-ended output, and it 
supplies gain. In most situations, the LA 
input specifications determine the input 
characteristics of the data acquisition 


board. Its voltage offset and offset volt¬ 
age drift contribute directly to the over¬ 
all offset specification. Its input bias cur¬ 
rent (and bias current offset) often limit 
the maximum source resistance for the 
application. The common mode rejec¬ 
tion ratio (CMRR) is also an offset-pro¬ 
ducing phenomenon. Theoretically, if 
the plus and minus inputs of an LA are 
tied together and raised a volt, no 
change should be evident in the output. 
In reality, the IA will convert that com¬ 
mon mode signal to an input offset, and 
amplify it by its gain. A 60-dB CMRR 
means that the IA will develop a 1-mV 
(millivolt) input voltage offset when 
both inputs are raised 1 V. CMRR will 
decrease with frequency (starting at 
about 10 Hz) at a rate of approximately 
20 dB per decade. The higher the 
CMRR, the better chance the data acqui¬ 
sition board has of combating common 
mode and ground induced noise. 

For low sampling rates, the AC 
(alternating current) performance of the 


MAY 1986 


55 











DIGITIZING 


TABLE 2: Summary of Significant Components Used 



BURR-BROWN 

20002 

20019 

20003 

20006 

20017 

DATA TRANS. 
DT-2801-A 

INPUT STAGES 

Input circuitry 

None 

None 

N/A 

N/A 

None 

None 

protection 

Multiplexer type 

BB MPC8S b 

BB MPC8S b 

N/A 

N/A 

None 

Harris 508A 

Instrumentation 
amplifier type 

Burr-Brown 

PGA-200AG 

None 

N/A 

N/A 

Burr-Brown 
INA 102AG 

3 PMI-OP-15 

Sample-and-hold type 

National 

LF389A 

Teledyne 

TP4866 

N/A 

N/A 

National 

LF398A 

National LF398A 

Sample-and-hold 

1,000 

100 

N/A 

N/A 

1,000 

1,000 

capacitor (pF) 

A/D type 

Harris 574KD 

Burr-Brown 

ADC84KG 

N/A 

N/A 

N/A 

AMD2504, LT311, 
AD565 

A/D reference 

On 574KD 

On ACD84KG 

N/A 

N/A 

N/A 

On D/A Con. 

Input amplifier type 0 

S and D 

S 

N/A 

N/A 

D 

S and D 

OUTPUT STAGES 

D/A converter type 

N/A 

N/A 

Burr-Brown 

DAC11A 

Burr-Brown 

DAC709K 

N/A 

AD7545LN 

Output amplifier type 

N/A 

N/A 

On DAC811A 

On DAC709K 

N/A 

LM258 

a Series resistor with diode clamp. 

b Harris 508A look-alike. 

C S = single-ended; D = differential. 



IA can be neglected. For sampling rates 
in excess of a few hundred hertz, 
however, the AC limitations can play an 
often unexpected role. 

Foremost is the brick-wall limita¬ 
tion of slew rate. The output of the LA 
cannot traverse a signal step faster than 
it can slew. Assuming a simple sine 
wave input, the slew rate for the signal 
is given by the equation 

slew rate = 2tt FVpp 


where F is the sines frequency and Vpp 
is the peak-to-peak voltage. Suppose 
that the IA on a data acquisition board 
can slew at 0.5 volts per microsecond 
and the user needs to determine the 
highest frequency sine wave that he can 
digitize, yet make maximum use of the 
A/D full-scale range (±10 V). In this 
case, the frequency would be: 


slew rate 
2tt Vpp 


= 3 978 KHz 


Signal frequencies higher than this will 
be greatly distorted and erroneous 
measurements will result. 

The next fundamental limitation is 
that of finite bandwidth, which can 
cause two measurement errors. The 
first limitation is the response time of 
the IA to a change in the input signal. 
Assuming a first order system, the time 
that it will take for the output to settle 
within a specified error is given by 

t = -ln(err) 

2t t Fo 


where err is the error and Fo is the 
-3-dB bandwidth of the IA at the gain 


of interest. Suppose that the IA has a 
-3-dB bandwidth of 10 KHz at a gain of 
100. The time it will take the'LA to settle 
to within 1 LSB (least significant bit) for 
a 12-bit converter will be: 

— ln(l/2 12 )_ — ln(2.4 X 10" 5 ) 

2tt 10 3 2tt 105 

= 169 microseconds 

As gain increases, IA bandwidth 
decreases, and longer acquisition 
times will be necessary. Sampling be¬ 
fore the IA has settled can result in sig¬ 
nificant errors. 

The second bandwidth limitation 
effect is even more insidious. Remem¬ 
ber that a -3-dB bandwidth frequency 
is the frequency at which the LA gain is 
30 percent down from its DC gain. This 
decrease in gain begins far before the 
-3-dB point and can materially affect 
surprisingly low frequency measure¬ 
ments. Reconsider the IA example 
above, with the gain of 100 and the 
-3-dB point at 10 KHz. Suppose the 
user wants to digitize the highest fre¬ 
quency signal he can, yet retain 1 LSB 
(at 12 bits) amplitude accuracy after the 
A/D stage. The maximum frequency at 
which the data acquisition board would 
be able to do this is 221 Hz; although 
the arithmetic is straightforward, table 3 
shows results from similar calculations. 

This simplified analysis using only 
first order behavior is negated by cer¬ 
tain components that also demonstrate 
some second order frequency re¬ 
sponses. The Precision Monolithics, Inc. 
(PMI) AMP-01, as it is used by Metra- 


Byte, has a nasty peak in its frequency 
response at low gains that makes accu¬ 
rate use past a few kilohertz impossible. 

An anti-aliasing filter should be 
present at this point; however, none of 
these boards takes this precaution. Al¬ 
iasing occurs when a signal is sampled 
at a rate less than twice the signal’s fre¬ 
quency (this sampling rate limit is 
called the Nyquist rate). This error 
causes a high-frequency input signal, 
after conversion, to appear to the CPU 
at the output as a lower frequency sig¬ 
nal. The user must take care that signals 
with a significant frequency content that 
is above one-half of the sampling rate 
not get through to the remainder of the 
system. An anti-aliasing filter at this po¬ 
sition in the circuit averts the problem. 
Sample-and-hold amplifier. Most data 
acquisition boards use successive ap¬ 
proximation A/D converters for speed 
and versatility, making necessary a sam¬ 
ple-and-hold amplifier. The successive 
approximation converter requires that 
the input voltage remain constant 
throughout conversion. The sample- 
and-hold acquisition time adds to the 
overall conversion throughput time di¬ 
rectly. Sample-and-hold accuracy also 
depends upon the input signal slew 
rate. The manufacturers’ data sheets 
provide graphs that show the possible 
error for sample frequencies. 

In systems without an instrumenta¬ 
tion amplifier, the input characteristics 
of the sample-and-hold dominate the 
overall system input specifications. 
Analog-to-digital. The A/D converter is 
the last stop for the input analog volt- 


56 


PC TECH JOURNAL 
















IBM 

BOARD 

METRABYTE 
DASCON 1 

DASH 8 

DASH 16 

SCEEN. SOL. 
LAB MASTER 

STRAWBERRY TREE 
ACPC-14-16 ACPC-16-16 

WEST. TEL. 

ICIS 

+/-30 V* 

+/-120 V 

RMS a 

None 

None 

None 

+/—50 V* 

+/—50 V* 

None 

AD7502K 

CD4052 

Harris 508A 

Harris 508A 

Harris 508A 

CD4052 

CD4052 

Harris 506A 

S/H TL064 

Opt. LM363D 

None 

PM I AMP-01 

3 PMI-OP-15 

LM308 

LM308 

AD524AD 

Analog Dev. 
AD583KD 

N/A 

LF398 

LF398 

LF398A 

N/A 

N/A 

.. N/A 

2,200 

N/A 

4,700 

2,200 

1,000 

N/A 

N/A 

N/A 

AD674AKD 

Teledyne 7109 

Harris 574AJD 

Harris 674AJD 

AMD2504, 
LT311, AD565 

LM331 

LM331 

ADVF32KN 

On 574AKD 

LM329BZ 

On 574AJD 

On 574AJD 

On D/A Con. 

LM399 

LM399 

AD584JH 

D 

D 

S 

S and D 

S and D 

D 

D 

D 

AD7545KN 

ADDAC80N 

CBI-V 

N/A 

AD7548KN 

ADDAC80Z CBI- DAC0800LN 

V 

N/A 

AD390JD 

AD644KH 

On ADDAC80N 

N/A 

OP-07D 

On ADDAC80Z 

LM324 

N/A 

On AD390JD 


The reference for the A/D converter is obtained from different components. Some boards use the reference available from the 
A/D circuitry; others use an industry standard such as an LM399. The input protection on these boards is not really sufficient. 


The decrease in gain of the Instrumentation Amplifier occurs before the — 3-dB 
point. This effect should be considered to ensure that signal fidelity is maintained 
throughout the system. As an example of reading this table, to maintain frequency 
fidelity within one percent of the maximum, frequency should be no greater than 
14.3 percent of the instrumentation amplifier’s — 3-dB gain point. 


age signal. The successive approxima¬ 
tion A/Ds usually are packaged in a sin¬ 
gle 24- or 28-pin DIP and are mono¬ 
lithic or hybrid in construction. Most in¬ 
corporate the successive approximation 
register, D/A converter, voltage refer¬ 
ence, comparator, and interface cir¬ 
cuitry in the same package. 

A sample-and-hold amplifier, fol¬ 
lowed by a successive approximation 
A/D converter, is very susceptible to 
noise. When confronted with it, these 
devices perform poorly, randomly sam¬ 
pling and converting the peaks and val¬ 
leys of the noisy signal. Software can 
smooth the output data somewhat. 

The integrating AID converter is an 
alternative to successive approximation. 
Although slower, this A/D provides 
superior noise rejection and, in many 
cases, higher resolution. It is the A/D of 
choice, particularly in applications 
requiring high sensitivity—less than 100 
mV (millivolts) full scale. MetraByte, 
Strawberry Tree, and Western Telecom¬ 
puting offer boards that feature inte¬ 
grating A/D converters. 


Reference. The reference sets the overall 
channel accuracy and stability for the 
A/D. Its time and temperature drift 
affect accuracy directly. Some boards 
use the reference available in the A/D 
converter itself. Others use off-the-shelf 
references, such as National’s LM399. 
Strawberry Tree is the only manufac¬ 
turer to specify time-related drift. 

Bus control and interface. Data may be 
obtained from the analog conversion 
channel by polling the A/D converter 
until a conversion-complete signal has 
been received, then having the CPU 
read the data. Note that in the IBM PC, 
reading the data requires a minimum of 
two fetches for A/D resolutions greater 
than eight bits. Interrupts are some¬ 
times used to signal the CPU that the 
A/D has valid data. The fastest method 
of obtainment is to use a DMA channel 
to grab the data directly from the data 
acquisition card and put it appropriately 
in memory. This, of course, requires 
the least amount of time from the CPU. 
Analog output. An analog output 
channel consists of a reference, a D/A 


TABLE 3: Maintaining Signal Accuracy 


Required accuracy 

1% 

1LSB 

1LSB 

1LSB 

1LSB 

1LSB 

Resolution of A/D 

any 

8 

10 

12 

14 

16 

(in bits) 

-3dB ratio 

7.0 

11.3 

22.6 

45.2 

90.5 

181.0 

l/-3dB ratio 

0.143 

0.088 

0.044 

0.022 

0.011 

0.006 


(digital-to-analog) converter, and an 
output amplifier. Some companies com¬ 
bine all three components into one 
package—for example, the industry 
workhorse, output voltage Analog De¬ 
vices DAC80. The typical ranges are ± 3 
V, ± 10 V, and 0 to +10 V. Output cur¬ 
rent is limited to 5 mA (milliamperes). 

None of these boards supplies out¬ 
put protection other than short circuit 
current limit. The D/A converter will be 
destroyed if the output comes into con¬ 
tact with, for example, an external 18-V 
power supply. The IBM and Data Trans¬ 
lation boards provide the proper com¬ 
pensation around their output ampli¬ 
fiers to tolerate up to 0.5-microfarad 
capacitive loads. The D/A converters on 
most other boards will oscillate with a 
few thousand picofarads of load capaci¬ 
tance, especially when forcing negative 
voltages. Even a few hundred* picofarads 
of capacitance can cause ringing, and 
the attendant long settling times that 
this can produce. 

Shielding the D/A converter out¬ 
puts is just as important as shielding the 
analog inputs. Although the D/A con¬ 
verter output resistance is low at DC 
(usually in the range of 0.1 ohms or 
less), the output impedance increases 
by a factor of 10 for each decade of fre¬ 
quency above 10 Hz. The D/A converter 
is powerless against interference from 
RF (radio frequency) sources, which is 
more common than users might sus¬ 
pect. Typically the RF comes down the 
unshielded D/A converter output and 
into its amplifier. It is rectified by non- 
linearities in the input stage and ap- 


MAY1986 


57 















WE START WHERE OTHERS LEAVE OFF. 



Speed Factor 

Machine (Norton index) 

PC-elevATor (i2.5MHz) 15.3 
PC-elevATor (io.o mhz) 11.6 
PC-elevATor (S.omhz) 9.2 

COMPAQ DESKPRO 286 7.6 


IBM PC AT _5/7 

186 Boards 3.8 

8086 Boards 2.0 

COMPAQ DESKPRO _1/7 

IBM PC XT 1.0 

IBM PC 1.0 


The World's FASTEST Accelerator Board. 

PC-elevATor 286 


2 megabytes RAM 


80286 


"If my primary tasks 
centered around 
calculation-bound programs, 
such as 1 -2-3 or SuperCalc, 
PC-elevATor would be a 
clear winner in my mind." 

BUSINESS SOFTWARE 
January 1986 


A powerful family of 80286 
board products. 

PC-elevATor! The ultimate plug-in 
processor. Now with three versions 
of the 80286 chip: 

EAST - 8.0 MHz 
FASTER -10.0 MHz 
FASTEST -12.5 MHz 

PC-elevATor. Outperforms all turbo 
cards. And only with PC-elevATor 
can you upgrade to a faster board 
as your processing needs grow. 

With up to 2 megabytes of on¬ 
board extended memory. 

High-speed 16-bit RAM. 
AboveBoard™ (EMS) support. RAM 
disk. Disk cache. Print spooler. 
Optional 80287 coprocessor. One 
board is ali you need. PC-elevATor. 


For PC compatibility, and more. 

Boosts your PC, XT, AT, COMPAQ 
or compatible to new speed limits. 
Optimizes the 3270 PC, freeing a 
full 640K for PC applications while 
existing PC memory runs 3270 
Control Program. Just plug and 
run. No chips to remove. No 
cables to connect. 

"PC-elevATor is a formidable 
information processor.” 

PC WEEK, 9/24/85 

"It pulverized the sorting, calcula¬ 
ting and search-and-replace tests." 

BUSINESS COMPUTER SYSTEMS, January 1986 

"A very speedy and promising 
product. Screen handling is superb." 

PC MAGAZINE, 11/12/85 


Technical Features 

• 8, 10 or 12.5 MHz 80286 

• 5 or 8 MHz 80287 (optional) 

• 1 or 2 Megabyte RAM (No Wait-states) 

• Operates in tandem with PC 

• Supports EMS/Above Board 

• Includes RAM Disk, Disk Cache, 

Print Spool 


Call today to find out how the 
PC-elevATor family can meet your 
current needs and support your 
future growth. 

▲ APPLIED 
REASONING 

Applied Reasoning Corporation 

765 Concord Ave., Cambridge, MA 02138 

(617) 492-0700 telex: 6714194 elevator 


CIRCLE NO. 200 ON READER SERVICE CARD 

















DIGITIZING 



The design of each stage of the board has a significant effect on its overall performance. The reviewed boards did not supply all 
aspects of this ideal situation. For example, the conversion time off the S/H contributes directly to the total throughput. 


pears as a spurious DC offset voltage. 
The D/A converter output changes as a 
result of this phenomenon, and may be 
hundreds of millivolts away from what 
the user has programmed. It even may 
change in relation to the user’s proxim¬ 
ity to the output (because of resultant 
changes in the RF field). 

Parallel and timer I/O channels. Parallel 
I/O is usually limited to the industry- 
standard 8255, or a couple of TTL (tran- 
sistor-to-transistor logic) latches. Many 
manufacturers supply termination 
boards with optoisolated conversion for 
AC voltage sense and control, or relays 
for digital control of user-supplied 
sense and control circuitry. 

Timers are most often of the 8253 
type: three 16-bit counter/timers in a 
package. They are typically used for tim¬ 
ing A/D conversions, for the counting of 
external inputs, or for the generation of 
pulse widths. A realtime clock is of mar¬ 
ginal use, excepting those applications 
that require unattended operation. 

Several boards have their I/O con¬ 
nectors (both analog and digital) sprin¬ 
kled across them. It is quite a task to 
connect the multiplicity of cables and 
thread them. When the cables are con¬ 
nected and threaded through the cable 
opening, many invectives are generated. 


More importantly, stringing unshielded 
digital I/O cables across the top of sen¬ 
sitive analog circuitry is asking for trou¬ 
ble. The better data acquisition boards 
(IBM, Data Translation, MetraByte) have 
a single connector at the proper end. 
The user simply installs the board and 
hooks up his cable. 

The cable or cables also contribute 
to the characteristics of the analog I/O. 
Unshielded ribbon cable adds approxi¬ 
mately 14 pF per foot of capacitance to 
the I/O line, shielded cable about 25 pF 
per foot. The user must be aware of the 
length of the I/O cables and of the adr 
ded capacitive load they provide. 

A final consideration regarding I/O 
cables applies to all of the boards ex¬ 
cept IBM’s: when the user connects the 
I/O cables to the data acquisition board, 
he nullifies precautions the PC manufac¬ 
turer took to keep RFI (radio frequency 
interference) and EMI (electromagnetic 
interference) inside its covers. For 
example, if he hooks up three-foot I/O 
cables, the PC becomes a broadband 
radio station with a three-foot antenna. 
The user must be aware of relevant FCC 
regulations and take appropriate meas¬ 
ures to curb interference. 

Calibration. The user should calibrate 
the data acquisition board upon its arri¬ 


val. Another calibration should take 
place after one month, then yearly. The 
bulk of time-related drift occurs within 
the first 1,000 hours. Calibration usually 
requires equipment unavailable to the 
average user. For 12-bit systems, a DC 
voltage calibrator with overall accuracy 
better than 60 ppm (parts per million) 
is mandatory. This, used in conjunction 
with a 5^-digit DVM (digital volt meter), 
should be sufficient. 

Many of the boards will require 
recalibration should the A/D or D/A 
ranges be changed or the instrumenta¬ 
tion amplifier gain altered. A prudent 
measure for any set-up is to dedicate 
two of the analog input channels for 
autozero and autocalibration. Software 
then can provide the necessary cor¬ 
rection. The autozero channel simply 
connects to analog ground, thereby 
measuring the channel offset. The 
autocalibration channel connects to a 
known reference (a user could design 
his own based on an aged LM399 from 
National) for calculating the overall 
channel gain. Both time- and tempera¬ 
ture-related accuracy dependencies can 
be corrected using this technique. 
Software. Three software-related items 
should be available with each board. 
First, the instructions should show how 


MAY 1986 


59 






























































































DIGITIZING 


TABLE 4: Summary of Electrical Characteristics 



BURR-BROWN 

20002 20019 

20017 

DATA TRANS. 
DT2801-A 

IBM 

BOARD 

INPUT RESISTANCE (Ohms) 

109 

10 6 

10 10 

10 8 

10 8 

INPUT CAPACITANCE (pF) 

Channel on 

Single-ended 

50 

25 

N/A 

100 

N/A 

Differential 

30 

N/A 

20 

100 

200 

Channel off 

5 

5 

20 

10 

200 

OFFSET VOLTAGE 

Trim 

Trim 

Trim 

Trim 

Trim 

OFFSET VOLTAGE CHANGE WITH TEMPERATURE 

CHANGE (ppm/degree C) 

All gains 

— 

+/-15 

— 

47—20 

47-24 

Gain=l 

47-110 

— 

2 

— 

— 

Gain=10 

47-20 

— 

6 

— 

— 

Gain=100 

47-20 

— 

50 

— 

— 

Gain=1,000 

47—20 

— 

500 

— 

— 

INPUT BIAS CURRENT (nA) 

47-30 

47-300 

47-50 

47-20 

+/-300 

INPUT BIAS OFFSET CURR. (nA) 

47-30 

N/A 

47—2.5 

47-20 

+/-300 

GAIN CHANGE WITH TEMPERATURE 

CHANGE (ppm/degree C) 

All ranges (min/max values) 

47—75 

47-30 

47-10 to 
47-30 

47-35 

47-32 

Linearity (percent) 

All gains 

— 

47-0.01 

— 

<0.01 

<0.02 

Gain=l 

+/-0.04 

— 

47-0.03 

— 

— 

Gain=10 

+/-0.04 

— 

47-0.03 

— 

— 

Gain=100 

+/-0.05 

— 

47-0.05 

— 

— 

Gain=1,000 

COMMON MODE REJECTION 

+/-0.065 

— 

47-0.1 

— 

— 

RATIO (DC) (dB) 

All gains (min/max value) 

80/106 

N/A 

70/90 

80 

72 

CHARGE INJECTION (pC) 

10 

10 

N/A 

10 

150 

“When 50-mV channel selected. 1CP Ohms. 


c Except 50-mV range, when it is +/-10 ppmm/degree centigrade. 

b Isolated from inputs by > 100-Kil resistors. 


d Effects swamped by 0.01-microfarad capacitor at input. 


TABLE 5: Summary) of Digital-to-Analog Characteristics 


BURR-BROWN DATA TRANS. IBM 

20003 20006 DT2801-A BOARD 


ACCURACY 

Trim 

Trim 

Trim 

Trim 

RESOLUTION 

12 

16 

12 

12 

FAULT PROTECTION 

No 

No 

No 

No 

MAX. LOAD CAPAC. (nF) 

0.5 

0.5 

500 

500 

OFFSET DRIFT WITH TEMP, (ppm/degree C) 

47-60 

47-10 

47-30 

4-/-24 

GAIN DRIFT WITH TEMP, (ppm/degree C) 

47-80 

47-25 

47-30 

47-35 


a Maximum variation is within the overall accuracy specification of 10 percent. 


to interface to the board at the lowest 
software level; that is, all of the ports 
the board uses for control and I/O 
should be discussed thoroughly, and 
examples should be provided. 

Second, software drivers that pro¬ 
vide functions for access by a reason¬ 
able number of high-level languages 
should be included. Of course, the user 
should be sure a particular language is 
supported before purchase. 

Third, the package should include 
a menu-driven control program that 
would enable the user to perform some 


simple tasks to ensure the board’s func¬ 
tion independent of the rest of the sys¬ 
tem. This would serve two purposes: as 
an initial check when the user first 
obtains the board and as a debugging 
aid in interfacing to the real world. 

None of the manufacturers supplies 
all three elements. For that matter, 
none seems to offer complete software 
control over its hardware. Range 
changes, gain changes, and measured 
quantity (voltage, current, or resistance) 
were, for the most part, set by switches 
or jumpers on the data acquisition 


board inside the PC. No read-back capa¬ 
bility is included for determining the 
resultant board configuration. In a dedi¬ 
cated use, where the board configura¬ 
tion is set for good upon installation, 
this is not a problem. In general use, 
however, or when more than one user 
is involved, each user must check the 
position of all jumpers and switches. 
Technical assistance. All of the manufac¬ 
turers except IBM provided prompt 
telephone technical assistance. The rep¬ 
resentatives seemed capable of handling 
all software-related questions. However, 


60 


PC TECH JOURNAL 
















METRABYTE 
DASCON 1 

DASH 8 

DASH 16 

SCIEN. SOL. 
LAB MASTER 

STRAWBERRY TREE 

ACPC-14-16 ACPC-16-16 

WEST. TEL. 

1CIS 

10 10 

10 10 

109 

1Q8 

200,000 a 

200,000 a 

10 7 

N/A 

25 

50 

100 

N/A 

N/A 

N/A 

25 

N/A 

30 

100 

10,000 b 

10,000 b 

55 

10 

5 

5 

10 

10,000 

10,000 

5 

Autozero 

Trim 

Trim 

Trim 

See text 

See text 

Autozero 

Autozero 

+/-10 

+/—12 

+/—20 

See text 

See text 

Autozero 

1 

100 

10 

47—20 

10 

10 

4-/-100 

1 

N/A 

2 

47-20 

1 

1 

47-35 

47—25 

+/—25 

47-25 

47-35 

4-/—100° 

47—100 c 

4-/-100 

+/-0.01 

+/-0.02 

+/-0.02 

<0.01 

4-/—0.04 

4-/—0.04 

47-0.01 

60 

N/A 

90 

80 

50/110 

50/110 

70/110 

10 

10 

10 

10 

—A 

_d 

10 


The manufacturers’ specifications quote the input characteristics of the board for a zero input impedance. The actual value 
should be recalculated for the nonzero value of a given application. The change injection value for the IBM board is compara¬ 
tively high. The voltage offset and voltage drift with temperature are not specified separately for the Strawberry Tree boards. 



METRABYTE 
DASCON 1 

DASH 8 

DASH 16 

SCIEN. SOL. 
LAB MASTER 

STRAWBERRY TREE 

ACPC-14-16 ACPC-16-16 

WEST. TEL. 

IC1S 

Trim 

N/A 

Trim 

Trim 

10% 

10% 

0.1% 

12 

N/A 

12 

12 

8 

8 

12 

No 

N/A 

No 

No 

No 

No 

No 

0.5 

N/A 

0.5 

0.5 

0.5 

0.5 

0.3 

47-10 

N/A 

47-5 

10 

—a 

-a 

10 

47—30 

N/A 

47-10 

30 

- a 

- a 

10 


The D/A output characteristics show a variation in the maximum load capacitance that can be applied without ringing. 


only a few could provide answers when 
the inquiries turned to analog circuitry, 
specifications, or interfacing. 

INTERNAL ACQUISITION 

Some of the manufacturers represented 
here offer more than one data acquisi¬ 
tion product or combination of ele¬ 
ments. As mentioned previously, tables 
1 and 2 capsule the boards’ basic fea¬ 
tures and significant components, 
respectively. In addition, table 4 sum¬ 
marizes their electrical characteristics, 
and table 5 lists their D/A attributes. 


Tests were conducted using an 
Electronic Development Corporation 
DC Voltage Calibrator, with an overall 
accuracy to within 20 ppm, a Keithley 
191 5^-digit DVM, and a Hewlett-Pack¬ 
ard 3320B Frequency Synthesizer. All 
tests were conducted at room tempera¬ 
ture and nominal humidity. 

Burr-Brown. The Burr-Brown modular 
system occupies at least Hfc card slots; 
in most cases, 2 slots are required. It is 
the most flexible system, offering a 
range of modules and termination 
boards. (See photo A.) 


Although only the motherboard 
interfaces to the PC edge connector, the 
daughterboards hang over enough so as 
not to allow another card to be plugged 
in. The motherboard is sparse: its only 
components are two 82C55 parallel I/O 
ports, a DC-to-DC converter ( + 5 to 
± 15 V), and some TTL logic gates; and 
it is memory-mapped. Connectors 
across the top of the motherboard 
accommodate three data acquisition 
daughterboards in a mix-and-match 
approach, for hardware customization. 
Each daughterboard is 3-9 inches 


MAY 1986 


61 















Multi-User 
Database 
For Five Years 



DataFlex versions are available 
for all popular single-user and multi-user 
operating systems, including Xenix. 

For a free copy of this poster 
(minus ad copy), write Data Access Corp. 
or leave a message on our 
Bulletin Board System: (305) 238-0640. 

DATA ACCESS CORPORATION 

8525 S.W. 129th Terrace-Miami-FL-33156-6565 (305) 238-0012-Telex 469021 DATA ACCESS Cl 

circle no. 118 on reader service card See us at COMDEX Booth #4032 












DIGITIZING 


TABLE 6: IA BW Limit of20002 Module I TABLE 7: IA BW Limit of20019 Module 


GAIN 

1% ACCURACY 

1 LSB ACCURACY 

1 

71.0 KHz 

11.0 KHz 

10 

21.0 KHz 

3.3 KHz 

100 

4.3 KHz 

663.0 Hz 

1,000 

342.0 Hz 

53.0 Hz 


GAIN 

1% ACCURACY 

1 LSB ACCURACY 

1 

43.0 KHz 

6.6 KHz 

10 

4.3 KHz 

663.0 KHz 

100 

427.0 KHz 

66.0 Hz 

1,000 

43.0 Hz 

6.0 Hz 


The limited BW in the IA section of this Burr-Brown module This Burr-Brown module also has a limited BW. Because the 

limits the sampling frequency. This, coupled with the low LA cannot be bypassed, this places a limit on the maximum 

slew rate of the IA, gives a worst-case limit of 3.2KHz. signal frequency that can be accurately collected to 1.6 KHz. 


square and contains an identifier that 
can be read by software for a simple 
installation. One nice design feature of 
this system: the motherboard and all 
daughterboards are of four-layer 
construction. This greatly attenuates 
PC-induced noise. 

The motherboard reviewed 
(20001C-2) comes with 32 digital I/O 
ports. The digital I/O lines provide nor¬ 
mal LSTTL input and output drive lev¬ 
els. Another motherboard is available 
without this option (20001C-1). Injudi¬ 
ciously, the digital I/O connectors are 
located at the far end of the board, and 
the nonshielded cables that connect 
them to the outside world must travel 
across each of the analog modules. This 
increases the amount of digital noise 
pickup by these modules. Although in¬ 
stallation of the modules into the 
motherboard and motherboard into the 
PC is easy, the routing of more than 
one shielded I/O cable through the 
back panel is cumbersome. All of the 
termination panels were of simple 
printed circuit boards, and mounted on 
standoffs. Each had sufficient area for 
supplementary interface circuitry. 

Seven Burr-Brown modules were 
reviewed. Three others are available: a 
trigger alarm module that can initiate 
conversions, a digital I/O board, and the 
20021, which provides eight channels of 
analog output by multiplexing a single 
D/A converter. 

The 20002 Analog Input Module is 
a 16-channel, single-ended or eight- 
channel differential input 12-bit A/D sys¬ 
tem. The input multiplexers are Burr- 
Brown’s version of the Harris 308 (BB 
MPC8S). An instrumentation amplifier 
(Burr-Brown PGA200) gives program¬ 
mable gains of 1, 10, 100, and 1,000. It 
is followed by a National LF398A sam- 
ple-and-hold that feeds a Harris 574AKD 
12-bit A/D converter. The total conver¬ 
sion time for a given signal ranges from 
40 microseconds for a single channel to 
83 microseconds for multiple successive 
channels when using unity gain. A gain 
of 1,000 requires slowing the overall 
conversion time to 753 microseconds. 


Total conversion time increases as the 
gain increases due to the necessary set¬ 
tling time in the instrumentation ampli¬ 
fier. Note that although the offset can 
be trimmed to zero for each gain, ap¬ 
propriate compensation must be made 
in the software (or a channel must be 
designated for autozero) if more than 
one gain range is used. Tests revealed 
that the gain does not have to be 
tweaked between ranges, because the 
gain inaccuracy is only 0.02 percent on 
each range. The A/D range can be 
changed by jumper for -5 to +5 V, 0 
to +10 V, and -10 to +10 V. 

Offset voltage drift is 100 ppm per 
degree centigrade (approximately ^ 
LSB) for unity gain. This improves dra¬ 
matically, to 20 ppm, for the other gain 
ranges. The linearity inaccuracy of the 
programmable gain amplifier showed a 
loss of about two bits of the A/D resolu¬ 
tion. Users should note with caution 
that the high bias current shown with 
testing could cause significant measure¬ 
ment errors even with small source re¬ 
sistances. On the gain-of-1,000 range, a 
1.6-KH source impedance displayed an 
offset of 1 percent of the range. Even 
though this module’s I/O cable is 
shielded, tests showed ten counts of 
noise on the gain-of-100 range and four 
counts of noise on a gain of 10. This is 
a good argument for not using higher 
gains inside the PC in conjunction with 
successive approximation converters. 

The module is capable of con¬ 
verting a single channel in 31 micro¬ 
seconds. However, testing showed that 
the limited bandwidth in the instrumen¬ 
tation amplifier limits the maximum 
conversion frequency (see table 6). In 
addition, the relatively sluggish slew 
rate of the instrumentation amp (0.4 V 
per microsecond) limits the maximum 
signal frequency for a full range input 
(20 V peak to peak) to 3.2 KHz. 

The 20005 Analog Input Expansion 
Module, which consists of four Harris 
508A multiplexers, is configurable to 
give an additional 32 single-ended or 16 
differential input channels. Input capaci¬ 
tance ranges from 5 pF off channel to 


30 pF on. Input leakage current is 
below 100 pA for both on and off con¬ 
ditions; however, the user should re¬ 
member that this will double every 10 
degrees centigrade. 

Providing a means to grab four 
channels of data simultaneously without 
the accompanying time skew is the 
20017 Sample-and-Hold Module. Each 
of the four National LF398A sample-and- 
holds is preceded by a Burr-Brown 
INA102G instrumentation amplifier. 
Gains of 1, 10, 100, and 1,000 are avail¬ 
able by jumper selection. The user must 
recalibrate when changing gains 
because the tested gain inaccuracies 
range from 0.1 percent to 0.75 percent. 
Nonlinearity is worst on the gain in the 
1,000 range: 0.1 percent. The input bias 
current is ± 50 nA (nanoamperes)— 
which puts it on the high side. The low 
bandwidth of the instrumentation 
amplifiers severely limits the maximum 
frequency that the module may accu¬ 
rately acquire (see table 7). 

Unfortunately, bypassing the instru¬ 
mentation amplifiers and feeding the 
signal directly into the sample-and- 
holds is not possible. The abysmal slew 
rate of the instrumentation amplifiers 
limits the maximum signal frequency 
for a full range input (20 V peak to 
peak) to 1.6 KHz. 

The 20019 High Speed Data Acqui¬ 
sition Module sports a fast monolithic 
sample-and-hold (Teledyne Philbrick 
4866) followed by a 10-microsecond 
conversion time A/D (Burr-Brown 
ADC84KG). The input is multiplexed by 
a Harris 508A providing eight single- 
ended input channels. The input resis¬ 
tance was measured as 1 MD 
(megohm) and the bias current was 100 
nA, as the manufacturer specifies. This 
definitely is a module for use with low 
source impedances for high-frequency 
applications. Throughput can be as high 
as 87,000 samples per second. Both 
gain and offset drift are generally negli¬ 
gible. The 2-MHz gain bandwidth of the 
sample-and-hold permits 1 LSB accuracy 
to 44 KHz. Gain and offset should be 
readjusted if the jumpers are configured 


MAY 1986 


63 
















DIGITIZING 




The modular system of the Burr-Brown product (photo A) enables the user to 
create configurations for specific applications. The addition of these modules 
makes the board overhang the adjoining slot such that it is not possible to put in 
another card. In photo B, the Data Translation module that contains the A/D con¬ 
verter is apparent on the data acquisition board. This module also is used by Scien¬ 
tific Solutions (photo E inset), but on the LAB MASTER, the module is in the exter¬ 
nal connection box, not on the main board. In photo C, the shielding of the cable 
on the IBM configuration extends onto the board, making a true shielded system. 
None of the other boards has this essential feature. This board’s I/O connector is at 
the logical end so that analog signal lines do not cross circuitry unnecessarily. 


for an alternate range—those available 
are ±2.5 V, ±5 V, ± 10 V, 0 to +5 V, 
and 0 to +10 V full scale. 

Burr-Brown’s 20003 and 20006 are 
Dual D/A Converter Analog Output 
Modules with 12- and 16-bit resolution, 
respectively. The 20006, however, is 
accurate and monotonic in nature over 
a 14-bit range because it uses a Burr- 
Brown DAC709. Its drift is in the range 
of a few LSBs per degree centigrade. 

On the 20003, the temperature drift of 
the Burr-Brown DAC811 is negligible. 
The user must not load the output with 
more than 500 pF of capacitance (cable 
plus load) in order to prevent ringing 
and possible oscillation. Both modules 
can force 0 to 10 V, -5 to +5 V, and 
— 10 to +10 V, jumper selectable. 

Output current is limited to ± 5 mA. 
Both modules require recalibration 
when changing ranges. 

The 20007 Counter/Timer/Pulse 
Generator Module supplies four general 
purpose, 16-bit counter/timers and a 
flexible rate generator with an output 
frequency of from 0.002 Hz to 2 MHz. 
All inputs and outputs are TTL compati¬ 
ble. This device also can serve as a use¬ 
ful time base generator for A/D mod¬ 
ules on the same motherboard. The 
module is built around two 8254 coun¬ 
ter timer chips that use an 8-MHz crys¬ 
tal as their main time base. 

One price the user pays for mod¬ 
ular flexibility is the amount of flipping 
necessary in using the documentation— 
from the software section, to the infor¬ 
mation on the motherboard, then back 
to the details on a particular module, 
and finally to the description on the ter¬ 
mination panel. Even so, the informa¬ 
tion is clearly written. Each module 
manual provides sufficient information 
for the user to write low-level drivers. 
Burr-Brown supplies an 8^-by-ll 
binder that accommodates the separate 
information packets. 

The company’s software interface 
consists of high-level support routines 
for BASIC, C, and Turbo Pascal. More¬ 
over, sufficient information is provided 
on the lower-level mechanisms of inter¬ 
facing to these drivers to make it pos¬ 
sible to use them with assembly lan¬ 
guage. The 22 support routines share 
common ancestry, which makes it con¬ 
venient for the user who programs in 
multiple languages. He must be careful, 
however, to load the correct driver for 
the language in use. This is accom¬ 
plished by running the appropriate pro¬ 
gram one time upon powering up. The 
manual includes six sample programs 
in each of the three supported lan¬ 
guages, with excellent documentation. 


64 


PC TECH JOURNAL 


PHOTOGRAPHS • DAVID ARKY 









































Technical questions are fielded by 
an apparently knowledgeable and ener¬ 
getic staff. Burr-Brown was one of the 
few manufacturers that could provide 
answers to analog-related questions. 

Data Translation. An Intel 8742 helps to 
control the Data Translation data acqui¬ 
sition board: the DT2801-A exhibited 
the fewest design flaws of the products 
reviewed and its performance was quite 
acceptable. A total of 16 single-ended or 
eight differential 12-bit analog input 
channels, two 12-bit analog output 
channels, and 16 parallel I/O lines are 
packed onto the card. A variety of ana¬ 
log input options are available by 
changing the analog input module. The 
reviewed board contains Data Transla¬ 
tion’s DT5712-PGH module with four 
programmable gains: 1, 2, 4, and 8 (see 
photo B); the DT5712 module itself is a 
shielded enclosure for the A/D, an ex¬ 
cellent precaution. (More on the 
DT5712 module is provided in the dis¬ 
cussion of Scientific Solution’s system.) 

The maximum throughput to mem¬ 
ory was specified as 27,500 samples per 
second. Overall input accuracy is ± 0.05 
percent for any gain, and gain and off¬ 
set drift with temperature is negligible. 
Tests showed that the high bandwidth 
of the limited gain instrumentation 
amplifier provides for accurate perform¬ 
ance up to the Nyquist rate (13 KHz). 

Tests also revealed that the D/A 
channels are compensated for capacitive 
loads to 0.5 microfarads. As usual, 
changing the range requires recalibra¬ 
tion. Drift in offset and gain is roughly 
1 LSB per 10 degrees centigrade. 

The board installs easily. The three- 
foot unshielded ribbon cable connects 
to the card and the terminal printed 
circuit board, mounted on rubber feet. 
The terminal card brings out the signals 
to barrier strip screwdriver connections. 
Space is provided for an optional cold 
junction sensor. This is of limited value, 
however, because no isothermal plate is 
present to keep the sensor at the same 
temperature as the connections. 

Two manuals are packaged with 
the board. The first details hardware 
aspects, low-level programming, and 
programming in BASIC. The second is 
the user manual for the pclab machine 
language routine library; it provides 
high-level functions for BASIC, C, 
FORTRAN, Turbo Pascal, and assembly 
language. Neither manual has an index, 
and page flipping becomes the rule; 
however, the information is complete 
and clearly written. 

The lowest level of programming 
requires sending a command byte fol¬ 
lowed by optional parameter bytes to 




The MetraByte DASH 16 board (photo D) has a four-layer construction with excel¬ 
lent ground planes around the components. This is a simple and effective method 
of reducing noise that is not employed by all of the manufacturers reviewed. The 
disc ceramic capacitors that are used on the Strawberry Tree Acquisition Board in 
photo F are a surprising design choice. Their temperature stability is not really 
suitable for this type of application. The Western Telecomputing board pair (photo 
G) does not have a solder mask, an unusual and substandard printed-circuit board 
fabrication omission. This set is designed for a slightly different purpose than the 
other boards reviewed. It can be used in unattended mode for applications with a 
slow conversion rate (meteorological, for example). 


MAY 1986 


65 


































































DIGITIZING 


the on-board microprocessor; the board 
implements 16 pseudocommands. The 
high-level functions are condensed into 
a series of these low-level commands to 
the 8742. In every case, a brief time 
delay takes place between when the 
command is sent and when the board 
has been configured by the 8742. Time- 
sensitive measurements should take this 
into account and use hardware initia¬ 
tion of tasks whenever possible. Direct 
access to the A/D, D/A, digital I/O, and 
timer functions is not possible. 

As is the case with all of the 
boards, programmed data transfers of 
more than 2,000 per second require 
turning off the PC’s time of day clock so 
that the CPU can orchestrate the data 
transfer without interference. 

Data Translation offers technical as¬ 
sistance, but it seems limited. Analog 
questions that could be researched in 
the company’s better-than-average speci¬ 
fications were handled easily. Tougher 
questions present a challenge. 

IBM. The IBM Data Acquisition Board 
offers four differential channels of 12- 
bit analog input, two channels of 12-bit 
output, 32 parallel I/O lines (16 input 
and 16 output), and an Intel 8253 for 
counter/timer applications. Conversion 
from A/D to memory is specified as 
15,000 conversions per second. 

This was the only board reviewed 
that maintained shielding from the 
printed circuit board to the terminal 
box (see photo C); however, the con¬ 
necting cable is not keyed, so the user 
must trace to the terminal box to locate 
pin 1 on the cable and properly attach 
it to the connector on the data acquisi¬ 
tion board edge. Aside from this, instal¬ 
lation is easy. The terminal box is a 
printed circuit board with barrier strip 
screwdriver connections inside a sheet 
metal box. The data acquisition board 
itself has a four-layer design, but there 
is little evidence of ground planes 
around the analog circuitry. 

Each of the four differential input 
channels is protected by 10-KH input 
resistors and diode clamps to the sup¬ 
plies. The Mialog Devices 7502 multi¬ 
plexer is followed by a Texas Instru¬ 
ments TL064 buffer amplifier before 
feeding an AD583K sample-and-hold 
that doubles as the differential ampli¬ 
fier. The 7502 gave the highest charge 
injection of all the boards reviewed: 150 
pC; the system’s overall accuraq' was 
within 1 LSB, 0.025 percent; and input 
bias current was measured as high as 
300 nA, which is rather large. 

IBM’s four input channels are too 
few for general purpose use. If an ap¬ 
plication calls for autocalibration and 


autozeroing, the user is left with only 
two input channels. Recalibration is 
necessary when changing (by dip 
switch) between the ranges of 0 to 
+ 10 V, -5 to +5 V, and -10 to +10 V. 

The two D/A channels are con¬ 
structed from 12-bit Aialog Devices 
AD7545KN D/A converters followed by 
AD644KH operational amplifiers. The 
reference for each channel is stolen 
from the A/D converter. Output ranges 
are 0 to +10 V, -5 to +5 V, and -10 
to +10 V, and require recalibration 
when changed. IBM does compensate 
its output amplifiers to accommodate 
capacitive loads to 0.5 microfarads. 

Two 34-pin ribbon cable con¬ 
nectors located on the board for IBM’s 
expansion bus will accommodate data 
acquisition products that are as yet 
unreleased. The package includes a 
well-documented software manual and 

\bM’s board maintains 
shielding from the printed 
circuit board to the terminal 
box; but the connecting ca¬ 
ble is not keyed, so the user 
must do some tracing. 


a fine hardware technical reference 
manual. IBM has included a full sche¬ 
matic and a generally excellent discus¬ 
sion of circuit operation. 

IBM supplies 15 functions for use 
with BASIC, C and FORTRAN. A device 
driver, included for loading at boot 
time, requires only a simple addition to 
the user’s CONFIG.SYS file. The func¬ 
tions share a common heritage, so 
changing from language to language 
goes very smoothly. The technical man¬ 
ual provides information to enable the 
user to write his own low-level drivers. 

Requesting technical information 
from IBM was difficult; it involved a lo¬ 
cal dealer and the representatives an¬ 
swering at the IBM information num¬ 
ber. In the end, the answers supplied 
were incorrect or not to the point. 
MetraByte Corporation. Three of this com¬ 
pany’s data acquisition cards were con¬ 
sidered. Ml three have 37 pin-D con¬ 
nectors for connection to the outside 
world, making their installation easy, 
and all three are I/O mapped, with the 
address selectable by DIP switch. An 
unshielded ribbon cable connects the 


card to a plastic terminal box which 
contains binding posts and some auxil¬ 
iary circuitry mounting space. 

The half-card dash 8 accepts eight 
single-ended analog input channels 
through its Harris 508A multiplexer. A 
National LF398 performs the sample- 
and-hold and a Harris 574AJD A/D con¬ 
verts the data. It is permanently config¬ 
ured for a -5 to +5 V range. Conver¬ 
sion time of the A/D is a maximum 35 
microseconds, and its overall accuracy 
is specified as 0.034 percent. Acquisition 
time of the sample-and-hold typically is 
15 microseconds. Its input current was 
rather high at 100 nA maximum, and its 
gain and offset voltage drift are negli¬ 
gible. The sampling error is slightly 
larger than for other boards. For exam¬ 
ple, at an input slew rate of 0.002 V per 
microsecond, it is 1 bit. If the input is a 
10-V peak-to-peak signal at 32 Hz, the 
sampling error will be an additional bit. 

The board also contains eight bits 
of I/O (four input and four output) and 
an 8253 counter timer (three 16-bit 
channels), and it can interrupt the PC 
on INT 2 through 7, jumper selectable. 

The dash 16 full-size card gives 16 
single-ended or eight differential input 
channels to its 12-bit A/D (Harris 
674AJD), two D/A channels, parallel I/O 
of four lines each input and output, and 
a three-channel, 16-bit timer/counter 
(Intel 8253). Conversions may take 
place at a rate of 35,000 per second on 
a single channel. The board has a 
four-layer construction with excellent 
ground planes (see photo D) surround¬ 
ing the analog input section. 

The card’s multiplexers are the 
ever-popular 508A, and the sample-and- 
hold is National’s LF398. Its acquisition 
time and sampling error are the same 
as that for the dash 8. 

The dash 16 has switch-selectable 
gains of 0.5, 1, 2, 5, and 10, although 
the board requires calibration when 
gain is changed. The instrumentation 
amplifier is PMI’s AMP-01, which yields 
ranges from ±0.5Vto ±10V bipolar 
and +lVto+10V unipolar. Gain 
peaking of the lower gains is quite 
noticeable in the 10 KHz range (see the 
comment below in the discussion of the 
EXP 16). The user should not expect 
better than 1-percent accuraq' for fre¬ 
quencies above 5 KHz. Its data transfers 
from AD to memory can be pro¬ 
grammed or under DMA control; its 
overall accuracy at DC is 0.034 percent. 

Input current was measured as 10 
nA. The specifications showed that the 
gain drift and nonlinearity are negligi¬ 
ble. Offset voltage drift can be as high 
as 16 LSB per degree centigrade. 


66 


PC TECH JOURNAL 








The D/A channels are 12-bit Analog 
Devices AD7548KN followed by PMI 
OP-07s; loading the outputs with more 
than a few hundred picofarads is not 
recommended. A unique feature of this 
board is that the input to the D/As can 
be either an on-board reference voltage 
for normal output voltage generation or 
a user-supplied signal. This could be 
used as an AC signal amplitude control, 
for example. Both gain and offset drift 
with temperature are negligible. 

MetraByte’s dascon i is the low-fre¬ 
quency (30 conversions per second) in¬ 
tegrating A/D cousin of the above two 
boards. Each of the four input channels 
is protected to 120 V RMS and multi¬ 
plexed by a CD4052. Full-scale input 
voltage is ± 2.0475 V. The A/D is a Tele¬ 
dyne 7109, 12-bit A/D, and sign con¬ 
verter. Its accuracy is 0.034 percent. 

Gain and offset drift are negligible and 
input current is 1 nA maximum. The 
reference is a National LM329BZ. 

Two of the input channels are con¬ 
figurable as RTD (resistance tempera¬ 
ture detector) inputs, with built-in 1-niA 
current source. The other two channels 
may accept optional National LM363 
instrumentation amps for gains of 10, 
100, and 1,000. Input current then in¬ 
creases to a maximum of 10 nA. Instru¬ 
mentation amplifier gain cannot be 
trimmed (except to within 1.5 percent); 
the user will need to calibrate with a 
known voltage and handle compensa¬ 
tion in the software. Offset voltage can 
be trimmed, but it can drift a maximum 
of 10 LSB per degree centigrade. The 
common mode voltage range is on the 
low side: -2.7 to +3.8 V. 

The board is made complete with a 
battery-backed realtime clock, 12 bits of 
parallel I/O, and two D/A channels 
(Analog Devices ADDAC80NCBI-V). 

Light capacitive loading (less than 1,000 
pF) is recommended. As with the other 
boards, the D/A converters require 
recalibration if their range is changed. 

The EXP 16 is a 16-analog-input ex¬ 
pansion interface PC board that can be 
daisy-chained and is mounted on stand¬ 
offs. It can be used with the dash 8 or 
the dash 16 . Although a thermal sensor 
is present on the 4.7-by-8-inch board, it 
is not in intimate thermal contact with 
the terminal blocks. The board contains 
two Harris 506A multiplexers and a PMI 
AMP-01 instrumentation amplifier. Eight 
switch-selectable gains from 0.5 to 1,000 
configure the overall gain for all chan¬ 
nels. Gain and offset will have to be 
tweaked whenever the gain range is 
changed. Settling time to 0.01 percent 
varies from 12 microseconds for low 
gains to 50 microseconds for a gain of 


1,000. The PMI AMP-01 gain versus fre¬ 
quency is adequately controlled for all 
except unity gain. In that case, the user 
should be cautious if the frequency of 
the input signal exceeds 10 KHz. The 
PMI AM P-0 l’s frequency response has a 
5-dB peak at 100 KHz. In fact, signals at 
10 KHz showed three-percent peaking 
relative to a 1-KHz signal. The board is 
delivered with 8-FIz filters on all input 
channels; the filters consist of a 10-Kfl 
resistor from each of the inputs, which 
are bridged by a 1-microfarad capacitor. 
Each channel on the board requires a 
170-millisecond settle time to 1 LSB. 

Nonlinearity of the PMI AMP-01 is 
nearly nonexistent, as is gain and offset 
voltage drift, except for the gain 1,000 
range. There, the offset voltage drift can 
be ^ LSB per degree centigrade. 

The documentation on all three 
data acquisition boards is clear and well 

I \e LAB MASTER outputs 
are not protected and supply 
only 5 to 10 mA of output 
current. When loaded with a 
few thousand picofarads of 
capacitance, they oscillate. 


presented. MetraByte goes so far as to 
offer assistance, albeit limited, on inter¬ 
facing and grounding applications. The 
only omission is an adequate referenc¬ 
ing of the programs on the accompany¬ 
ing disk. As it is, the user must load and 
list each one, and read the comments, 
to find out what each program does. 

Compared to other documentation, 
the EXP 16 manual is shockingly inade¬ 
quate. MetraByte installed 8-Hz filters 
on all channels, yet the specifications 
call for the board to be without filters. 
No instructions are included for remov¬ 
ing the filters (which requires desolder¬ 
ing), and the user must trace circuitry 
on the board to determine which com¬ 
ponents require removal. 

BASIC was the language of choice 
with these products. The drivers are 
loaded using either a BASIC program 
called LOADCALL or by placing a stan¬ 
dard header at the beginning of each 
applications program. The interface to 
the drivers is accomplished through 
BASIC CALL statements. All three cards 
interface to BASIC in the same way. The 
dash 8 and dash 16 provide 17 high-level 


commands, the dascon i provides 10. 
Sufficient information is provided to in¬ 
terface to the cards with user-supplied 
low-level software. Source code is avail¬ 
able for the drivers, permitting the user 
to interface to other languages. BASIC 
programs were included for thermo¬ 
couple linearization and for graphing 
results of data logging. The source code 
is accessible for all routines. 

MetraByte’s technical assistance was 
minimal in dealing with analog-related 
questions, but response time was good. 
Scientific Solutions. The Scientific Solu¬ 
tions lab master, previously known as 
the Tecmar lab master, was reviewed by 
PC Tech Journal in March 1984 (see 
“Digital-to-Analog, Analog-to-Digital,” 
Peter G. Aitken, p. 104). The basic 
board that fits inside the PC accommo¬ 
dates the 24 parallel I/O lines (an Intel 
8255), the counter/timer, and the two 
D/A channels. An unshielded ribbon ca¬ 
ble connects the data acquisition board 
to an external sheet-metal-and-plastic 
box that contains the A/D section. Con¬ 
nections to the A/D are made at ribbon 
cable connector headers. 

The A/D in the outside box re¬ 
viewed is a 12-bit Data Translation 
DT5712 module capable of 30,000 con¬ 
versions per second (see photo E). The 
module contains a straightforward suc¬ 
cessive approximation A/D converter 
built around an AMD 2504 successive 
approximation register, an Analog De¬ 
vices 565 D/A, and a Linear Technology 
311 comparator. The input multiplexers 
are Harris 508As, and the instrumenta¬ 
tion amplifier is built around PMI OP-15 
operational amplifiers. The IA is fol¬ 
lowed by a National LF398A sample-and- 
hold. The PMI OP-15 consists of preci¬ 
sion BIFET (bipolar and field-effect 
transistor on the same IC) operational 
amplifiers with bias current in the 
picoampere range; leakage current of 
the input multiplexer, however, brings 
the input bias current at the module 
inputs up to the nanoampere level. 

Potentiometers are situated on the 
module for adjustment of offset and full 
scale gain, but the manual does not 
address the subject of calibration. 

The D/A converters on the board 
are Analog Devices DAC80s. These 12- 
bit converters are industry workhorses 
that consist of a conventional voltage 
reference, a resistor ladder, current 
switches, and an output amplifier. The 
outputs are not protected (other than 
the output amplifier short circuit cur¬ 
rent limiting) and can supply only 5 to 
10 mA of output current. When loaded 
with a few thousand picofarads of 
capacitance, they produce undesirable 


MAY 1986 


67 








Now dBASE 
is bilingual 


Announcing a second language 
for dBASE.® 

C. 

Now you can add richer, faster 
features to the dBASE you know and 
love withMBASE Tbols for C™” 

So you can continue to program 
in the dBASE programming lan¬ 
guage, and yet have state-of-the-art 
calc speed and unique fast-painting 
graphics. 

Here’s your tool kit: 

A basic engine that links C, 
special C libraries, and your own 
C functions to dBASE applications. 
(It supports Lattice® C, Microsoft® C, 
and Manx Aztec™ C.) 

Arrays management and a C 
library of financial, mathematical, 
and statistical functions come with 
the Programmer’s Library. 

And the Graphics Library 
includes interactive business graphics 

TYademarks/owner: Ashton-Tate, dBASE/Ashton-Thte. Microsoft/Microsoft, Inc.; Lattice/ 
Lattice, Inc.; Aztec/Manx Software Systems Inc. 

© 1986 Ashton-'Me. All rights reserved. Specifications subject to change without notice. 


like bar graphs, pie charts, exploded 
pie charts, marked point graphs, line 
charts, and XY charts. 

Tb order, for the name of your 
nearest dealer, or for more informa¬ 
tion, call the Ashton-Tate Publishing 
Group at 800-437-4329, Ext. 241. 

Sure you need C to be on the 
leading edge. 

But you don’t have to give up 
dBASE to get it. 


dBASE 

TOOLS 



The PROGRAMMER’S 
LIBRARY 


A C-to-dBASE Link Thai Includes Ready-to-Use 
C Routines for Finance. Statistics, and Programming. 


Aashtcn-txit 


CIRCLE NO. 134 ON READER SERVICE CARD 






DIGITIZING 


oscillation. As with all of the reviewed 
boards, the oscillation occurs more 
readily when the D/A converter is forc¬ 
ing a negative voltage. This is caused by 
the output amplifier. Conventional 
operational amplifiers use lateral PNP 
transistors in their output stages for 
swinging down to the negative supply. 
These PNPs have low bandwidth (ft) 
and decrease the phase margin of the 
overall amplifier when they are active. 
Both D/A converters require recalibra¬ 
tion when the ranges are changed. 
Ranges can be changed only by 
on-board jumpers. 

The counter timer used (AMD 
9513) is probably the best available all¬ 
purpose timer for general laboratory 
applications. Enormously versatile (to 
the point of confusion), this device can 
handle nearly any rate or frequency 
output transducer or counting and tim¬ 
ing needs the user may have. 

The manual covers the lab master 
in all of its forms, including the 14- and 
16-modular converters that can replace 
the 12-bit module. The material was 
confusing to follow in setting up the 
system, and the manual was just as diffi¬ 
cult to use when looking up informa¬ 
tion. Programming help consisted of 
several brief, but very helpful low-level 
BASIC examples printed in the manual. 
No disk accompanied the board. 

Installing the lab master requires 
only a screwdriver, and routing the sin¬ 
gle unshielded cable to the A/D box 
through the back panel is easy. Space 
gets a little tight, however, as the paral¬ 
lel I/O, timer/counter I/O, and D/A con¬ 
verter I/O cables are connected and 
routed through the back. 

The Scientific Solutions technical 
representatives had difficulty answering 
analog-related questions outside of the 
company’s published specifications. 
Strawberry Tree Computers. Two boards 
from Strawberry Tree were reviewed. 
The 14-bit resolution version (ACPC-14- 
16-T12-A-C) provides 16 analog input 
channels, 16 bits of digital I/O, or two 
channels of poorly supported analog 
output. The 16-bit card (ACPC-16-16- 
T12-A) drops the two analog output 
channels and is otherwise the same as 
the 14-bit card. Each card carries a 
battery-backed realtime clock. 

Testing of both cards revealed that 
the best specified accuracy is only 0.04 
percent, which is a little better than 11 
bits, and this is only for the 50-mV and 
± 25-mV ranges. All other ranges for 
the boards are accurate to only 1 per¬ 
cent (approximately 7 bits). Current 
ranges have 1.5 percent basic accuracy; 
the sense resistor is 10 ohms. 


The analog channels are protected 
to 50 V continuous and 150 V intermit¬ 
tent. The digital I/O channels are non¬ 
protected MOS, although the terminal 
box can accommodate additional cir¬ 
cuitry for protection; the terminal box 
also provides 7407 buffers for the digi¬ 
tal outputs. Two of these boxes are 
required to bring out all 16 analog and 
16 digital I/O channels. 

Input resistance for the on channel 
is 1,000 Mils for the 50-mV and ±25 
mV ranges, but this drops to 200 KHs 
when the channel is deselected; the 
resistance is 200 Kfls for all other 
ranges. Input current is not specified al¬ 
though it typically will run about 10 nA. 
Each input channel has a slow filter that 
consists of two 100-Kfl resistors and a 
0.01-microfarads disc ceramic capacitor. 
The user should take normal precau¬ 
tions to guard against overvoltages in 

T \e program for the Straw¬ 
berry Tree boards is the best 
reviewed; the user can select 
analog scale factors, units, 
or ranges easily. 


order to prevent dielectric absorption 
problems with the disc ceramics (see 
photo F). This dielectric absorption ef¬ 
fect was achieved on the review board. 
Input common mode range is ± 8 V. 

These cards include the best refer¬ 
ence tested: a National LM399 comes to 
the terminal box unbuffered. Its con¬ 
nection requires great care. 

The A/D converter is a departure 
from the predominant successive-ap¬ 
proximation types. It is an integrating 
voltage-to-frequency converter built 
around National’s LM331. Resolution 
and conversion time can be traded off 
to meet special signal requirements. 

The analog input section is optim¬ 
ized for thermocouple inputs. As gen¬ 
eral A/D inputs, the variation in input 
impedance and crosstalk between chan¬ 
nels acts as a limitation to their instru¬ 
mentation capabilities. 

Although the cards’ accuracy speci¬ 
fications are not good, resolution was 
verified at 14 and 16 bits. Temperature 
drift specifications are not broken out 
separately between drift and offset. On 
the 50-mV ranges, drift is 10 ppm per 
degree centigrade; on all other ranges, 
it is 100 ppm per degree centigrade. 


These boards can experience a 
problem when the analog input goes 
over range. The displayed value may 
decrease, then go negative on a positive 
overload. This is especially hazardous in 
control loops, because it amounts to 
positive feedback. Also note that input 
scanning and conversion injects 10-mV 
spikes of approximately 1-microsecond 
duration into the inputs. 

The analog outputs are ±10 per¬ 
cent accurate. They consist of Analog 
Devices DAC08 D/A converters, fol¬ 
lowed by National LM324s. Software 
support for these two output channels 
is minimal. The outputs are unprotected 
and, when loaded with more than a few 
thousand picofarads, they oscillate. 

The manual, which is quite clear, 
contains the best discussion of interfac¬ 
ing different transducers to the card 
among the products reviewed. It is one 
of two manuals that gives a full sche¬ 
matic for the card and terminal box. 

The software is excellent for most 
straightforward data acquisition and 
control applications. In addition, it is 
not copy protected. Full source code is 
available for the BASIC program, as well 
as for the device drivers on the 14-bit 
card. The device driver source code is 
not available for the 16-bit card. The 
software hooks are well documented 
and can be incorporated easily into a 
user’s own BASIC program. 

Thermocouple linearization is 
given for types J, K, W, R, A, E, B, G, C, 
and D. The cards’ best accuracy is 0.7 
degrees centigrade using an E-type. 

The data acquisition and control 
program supplied with the Strawberry 
Tree card is very complete and the best 
reviewed. The user can set the clock; 
select analog scale factors, units, and 
ranges; specify channel and I/O names; 
set alarms on analog or digital I/O; and 
do some simple control loops. Data log¬ 
ging to disk and/or printer is included. 
The display of analog input voltages 
shows resolution down to the nanovolt 
range, which can be mildly irritating. 

No provision is made for easily chang¬ 
ing the number of displayed digits. An¬ 
other glitch was that over-range signals 
can produce in-range readings. The 
user must be aware of this to prevent 
positive feedback loops when the 
product is used in a control system. 

Installation of the card with two 
terminal boxes is abysmal: weaving the 
four unshielded ribbon cables to four 
disperse connectors is nearly impossi¬ 
ble with only one slot open in the PC. 

It is highly recommended that the user 
remove the adjacent card before at¬ 
tempting this installation. 


MAY 1986 


69 








MULTIPLE 

CHOICE 



MULTIUSER SYSTEM 



FEATURES: TECH PC TURBO QUAD 
BUSINESS SYSTEM.Starting from $5999 

Tech Turbo PC/XT base unit in portable or desktop configuration with 640K, multiple serial 
ports, 20 megabyte hard disk, three Tech PC terminals, connecting cables, and networking 
software. 

Separate NEC V20 8088 Intel compatible 8 MHz CPU and up to 768K RAM for each terminal 
on the system. 

Two fully functional serial ports per terminal. 

Four users expandable to 32 users over dumb terminals or PC’s with terminal emulation 
software provided with the system. Capacity for unlimited number of local printers. 
Full support for multitasking multiterminal use with print spooling for multiple printers, 
background monitoring of the system, dial up bulletin board support, password protection, 
and file/record locking supporting PC network protocol. 

System support all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc. 



FEATURES: TECH PC TURBO 

TRIAD MULTIUSER.Starting from $2599 

Tech Turbo PC/XT base unit with 640K, and two 360K disk drives, 20 megabyte hard disk. 
Separate Intel 80188 microprocessor running at 8 MHz and 512K for each terminal. 
Two high resolution monitors, two Selectric style Hi-Tek Keyboards, 50 feet of shielded 
cable to separate the two stations. 

System expandable to three terminals. 

System supports up to six printers. 

Full support for multitasking multiterminal use with print spooling for multiple printers, 
background monitoring of the system, dial up bulletin board support, password protection, 
and file/record locking supporting PC network protocol. 

System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc. 



FEATURES: TECH PC 

TWIN MULTIUSER.Starting from $1699 

Tech Turbo PC/XT base unit with 640K, and two 360K disk drives. 

Two high resolution monitors, two Selectric style Hi-Tek keyboards, 50 feet of shielded 
cable to separate the two stations. 

System supports up to six printers. 

Full software support with multi-level file security, electronic message facility to send and 
receive messages between users, password logon system, and system operator command 
level. 

System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc. 



FEATURES: TECH PC QUAD 

BUSINESS SYSTEM.Starting from $4499 

Tech Turbo PC/AT base unit in portable or desktop configuration with 512K, multiple serial 
ports, 20 megabyte high speed hard disk, three Tech PC terminals, connecting cables, and 
networking software. 

Four users expandable to eight users over dumb terminals or PC’s with terminal emulation 
software provided with the system. 

Capacity for up to 16 printers at remote sites with up to 6 local printers attached to the main unit. 
Each user can access 384K or more of RAM with memory expansion boards. 

Full support for multitasking multiterminal use with print spooling for central or terminal printing, 
background monitoring of the system, dial up bulletin board support, password protection, 
and file/record locking using a general-purpose ENQ/DEQ mechanism callable from user 
applications. 

System supports all popular software such as Wordstar, dBaselll, Lotus 123, Multimate, etc. 

THIRD PARTY MAINTENANCE AVAILABLE 
THROUGH MOHAWK DATA SCIENCES. 



TECH PERSONAL COMPUTERS 

2131 South Hathaway, Santa Ana, California 92705 

TELEX: 272006 Answer Back-TECH 


714 / 754-1170 

FAX: 714/556-8325 


PLEASE ALLOW ONE WEEK FOR SHIPPING 


CIRCLE NO. 240 ON READER SERVICE CARD 


VISA, MASTERCHARGE 

























DIGITIZING 


Layout in the terminal box is very 
convenient, especially for the analog in¬ 
puts. They connect to terminal posts 
mounted in a massive anodized alumi¬ 
num plate for isothermal contact. The 
plate has a temperature sensor embed¬ 
ded in the bottom for thermocouple 
cold junction compensation. 

The Strawberry Tree technical as¬ 
sistance was good. The representatives 
provided accurate information and were 
knowledgeable about analog circuitry. 
Western Telecomputing Corporation. The 
ICIS two-board set is a unique depar¬ 
ture from the other boards covered in 
this review—a data acquisition system 
designed primarily for unattended mon¬ 
itoring of meteorological or pollution 
events (see photo G). Because of this, 
conversion times are rather slow (10 to 
100 conversions per second). 

This system also was the only one 
reviewed that permitted battery backup 
to allow it to keep acquiring data after 
power to the PC had been withdrawn. 

The two boards are connected to a 
19-inch rack-mount termination panel 
with a 64-conductor unshielded ribbon 
cable. The boards tested were supplied 
without solder mask, an unusual and 
substandard printed-circuit board fabri¬ 
cation omission. Two Harris 506A multi¬ 
plexers provide 16 differential input 
channels. Two sockets were left open 
for an additional 16 input channels. 
Inputs can be either voltage or frequen¬ 
cy. Frequency inputs are counted by an 
82C53 and stored in on-board memory; 
they are controlled by an on-board 
CMOS microprocessor, an 80C85. 

Voltage inputs are routed to one of 
four instrumentation amplifiers 
(AD524AD), selectable by software. The 
amplifiers provide gains of 1, 10, 100, 
and 1,000. Gain coefficients are stored 
by the control program to gauge gain 
inaccuracy, obviating the need for po¬ 
tentiometers. The A/D is built around a 
voltage-to-frequency converter (Analog 
Devices VFC32KN) and AD584JH refer¬ 
ence. The frequency is counted over a 
10- or 100-millisecond period and 
stored as described above. The effect is 
that of an integrating A/D converter 
with excellent noise rejection. 

The overall accuracy of the system 
is 12 bits when the conversion time is 
100 milliseconds. Offset voltage is auto- 
zeroed periodically by the microproces¬ 
sor. The gain nonlinearity is less than 
100 ppm, and its temperature stability is 
excellent, with the exception of the 
1,000-gain range, which is 100 ppm per 
degree centigrade. 

The realtime clock requires the 
connection of the external battery 


backup because it operates in software 
on the 80C85. Eight D/A converters 
(two each of Analog Devices AD390JD 
quad D/A converter) may be installed 
for 12-bit resolution voltage output. 

The accompanying documentation 
is disappointing. The manual fails to 
present clearly the necessary informa¬ 
tion. Locating specific items is further 
frustrated by the lack of an index. 

Western Telecomputing includes 
what it calls DMS (for Data Monitoring 
System) in compiled BASIC. DMS is an 
all encompassing set-up, configuration, 
debugging, and unattended data logging 
software package. Menu driven, this 
software aids the user in quickly setting 
up the desired configuration and log¬ 
ging in data. Conversions from raw data 
to engineering units can use built-in lin¬ 
earization with up to a sixth degree 
polynomial. The system automatically 
computes and records maximums, mini- 
mums, averages, and standard deviation. 
It also permits timed control of the dig¬ 
ital I/O lines. (The source code for this 
program is not included.) 

The primary language link for this 
product is BASIC. A driver is installed at 
boot time and is accessed by BASIC 
CALL instructions; however, the man¬ 
ual’s discussions of the 28 high-level 
commands are inadequate, and the 
manufacturer’s technical support may 
be necessary to their use. Fortunately, 
during telephone conversations, the 
representatives seemed knowledgable. 

FITTING THE SYSTEM 

It is, of course, understood, that one 
board cannot satisfy the entire range or 
even a wide range of measurement 
needs. The nature of continuous real 
world data requires that the user tailor 
the measurement system to a specific 
problem. For unattended battery-backed 
operation, for example, the Western 
Telecomputing set fits the bill and is 
highly recommended, having been de¬ 
signed specifically for that application. 
For low-signal-level transducers, pre¬ 
dominantly thermocouple, one of the 
Strawberry Tree boards is a good 
choice; they are not recommended, 
however, for general purpose use, espe¬ 
cially for voltages above 100 mV. 

The price for a particular configu¬ 
ration of data acquisition board also 
varies according to the specific applica¬ 
tion. A minimum configuration system 
can be purchased for as little as $500, 
but the nature of these products allows 
many different sized systems to be set 
up with correspondingly varying prices. 
The prices for the reviewed boards 
range from around $500 to $2,300. 


For general applications, the Data 
Translation board is the best bet, en¬ 
compassing the finest all-around fea¬ 
tures, excellent documentation, and 
good software support. It requires only 
one slot in the PC and installs easily. 
This board may not be perfect, but 
neither are these products as a whole. 

REFERENCES 

Morrison, Ralph. Grounding and 
Shielding Techniques in 
Instrumentation. New York, NY: John 
Wiley & Sons, 1977. 

Motchenbacher, C. D. and F. C. Fitchen. 
Low Noise Electronic Design. New 
York, NY: John Wiley & Sons, 1973. 
Ott, Henry W. Noise Reduction Tech¬ 
niques in Electronic Systems. New 
York, NY: John Wiley & Sons, 1976. 

Burr-Brown 
P.O. Box 11400 
Tuscon, AZ 85735 
602/746-1111 

CIRCLE 355 ON READER SERVICE CARD 

Data Translation 
100 Locke Drive 
Marlboro, MA 01752 
617/481-3700 

CIRCLE 356 ON READER SERVICE CARD 

IBM Corporation 
Boca Raton, FL 33432 
800/426-2468 

CIRCLE 357 ON READER SERVICE CARD 

MetraByte Corporation 
440 Miles Standish Blvd. 

Taunton, MA 02780 
617 / 880-3000 

CIRCLE 358 ON READER SERVICE CARD 

Scientific Solutions, Inc. 

6225 Cochran Road 
Solon, OH 44139-3377 
216/349-4030 

CIRCLE 359 ON READER SERVICE CARD 

Strawberry Tree Computers 
1010 W. Fremont Avenue 
Sunnyvale, CA 94087 
408/736-3083 

CIRCLE 360 ON READER SERVICE CARD 

Western Telecomputing Corporation 
202 East Kagy Blvd. 

Bozeman, Montana 59715 
406/586-1511 

CIRCLE 361 ON READER SERVICE CARD 


Eric M. Miller is president of Miller Technol¬ 
ogy, Inc., a firm that specializes in analog- 
to-digital hardware/software systems. 


MAY 1986 


71 












UOOUUU^ & UWWW 

nooooooo c? 00000. 


r>r>r?i '( 




I traded my 16K machine and all 
those disks for Lotus® 1-2-3 and 256K. 
And immediately got the urge to 
merge. I started by merging regional 
statements in Maine. But before I 
could get to Iowa, I ran out of gas. 


At 512K, I discovered what the coor¬ 
dinates IV169 looked like. I was so 
for out there it felt like I was walking 
on the moon. It didn’t take long to 
find out 512K was nothing more than 
a walk around the block. 


640K! Loads of space until I fell in love 
with integrated software and was 
back to cutting up files again. Sure, 
the other functions make my work¬ 
sheet more persuasive, but I’m back 
to slugging in and out disks. Shades 
ofl6K. 


/ 


ijGGGOOO ■6:, 

_ uu ouu 

C?;[7 

n T-’ oo oT'' 

*S2 !|f I 

- - - - - G UW/CO 
cuToiTorvon 0 irneec 

: 

oououuuy 6 tocGc 
finoaoooQ 0 00000. 


OotSHCtcSC' OOOO 0 1 -lift 


Old war stories of how you fought your way up 
through the memory ranks are great to remember 
as long as you don’t have to relive them. And you don’t. 

Thanks to one incredible breakthrough. Above™ 
Board PS. 

Above Board is the memory board that drove the 
Lotus®/Intel/Microsoft 8 expanded memory specifica¬ 
tion, Infoworld’s 1985 Peripheral Product of the Year. 

From Intel. The company that has driven more 
standards than all of the other chip shops put together. 


Above Board PS has the parallel and serial ports, 
clock, print buffer, and RAM disk you’d expect from 
a conventional multifunction board. 

But why buy a conventional board when Above 
Board PS can take you from 256K all the way to 
1.5 megabytes in one fell swoop, without even pausing 
for a breath at 640K. 

So you don’t need to hot-wire your way to the top 
anymore. With Above Board PS, the split worksheet 
is history. The new norm is windowing, pop-ups, and 


Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporation. © 1986 Intel Corporation 















I’m on my way to 1.5 MB and I’m 
not looking back. Monster spread¬ 
sheets, killer models, Microsoft® 
Windows, and all kinds of pop-up 
utilities so I can juggle a bunch of 
balls at once. 



;ct^ ; 




,il Y)p r 0()O N 

€f©'l bhi 

'r\ o o ** v;v ' 








w;acecQ 0 


0 Vijr O U 

0000000 


O’C ^ .* .\. . 

r-r r 00.00 ^pp-P.^po.p • 0 v: •/: 




INTEL 

<)(> 

■Cf'CCOrt 






o o 

000 <&\ QQaaaao, 


M 0 0 0 f "1O 0 P A : 

T— Till?;! r 


•^T^i 

;ci: ^ i i 


U*fcr Vi/V/V»y V»> Vi./ v/ VJ 

pooooooor^ 


Qs GJ VI> O <J VKs €> ^ \T? C?\3^ vS? V£T 

^rpooror 00poor' 


ii/V/t/V/V/Vz L? U 

rsoaooo : 


&0 0£*fo 


RAM speed on everything—even databasing and 
word processing. 

The second-biggest difference between Above 
Board PS and conventional multifunction boards 
is the unconventional warranty on it. Five years 
instead of the usual two. 

Ease of installation is nothing to sneeze at either. Its 
software installs with as few as three keystrokes. It 
even intelligently customizes your memory allocation. 

Above Board PS is part of a family of products 


for the IBM PC, XT, AT and compatibles. 

You can buy them at your favorite computer 
store. Or call 800-538-3373 for the names of 
dealers near you. 

And re-write the book on overachieving. 

Help for the overachiever. 

iry 


CIRCLE 216 ON READER SERVICE CARD 









REALTIME SYSTEMS 


The Portable 
Approach 

The various software components of 
Hunter & Ready s VRTX achieve portability 
in two ways: within a processor group 
and across processor families. 


RICHARD M. FOARD 


P ortable is a word often heard in 
computer engineering circles. Its 
usual context is in describing soft¬ 
ware that can be moved from one oper¬ 
ating environment to another by a 
mechanical process of compiling and 
linking, with little or no modification of 
source code necessary. Portability is a 
quality of utmost importance to busi¬ 
nesses because it translates directly into 
savings of engineers’ and programmers’ 
time. Portable software also allows 
products to be moved more quickly 
into new markets. 

A second dimension of portability 
is of even greater importance to busi¬ 
nesses—the portability of engineers and 
programmers themselves. The ability to 
move a product development group 
from one set of hardware to another 
without incurring delay and expense for 
retooling and retraining is a powerful, 
sought-after business advantage. 


Hunter & Ready’s VRTX (Versatile 
Real-Time Executive) family of “silicon 
software components” is a multitasking, 
realtime system that offers portability in 
both senses of the word. Within a pro¬ 
cessor group such as Intel’s 8086 family, 
its software modules are portable. 
Across processor families (8086, Zilog 
Z80 and Z8002, Motorola 68000), its 
interfaces are identical (see figure 1). 

Within a processor family, VRTX 
software is portable at the executable 
level. No reassembling, recompiling, or 
relinking of VRTX’s core modules is 
required in moving from one hardware 
configuration to the next, and, conse¬ 
quently, Hunter & Ready has the un¬ 
common ability to deliver its software 
products in read-only memory chips. 

The company cites advantages go¬ 
ing beyond portability for its silicon 
software approach. By casting software 
in an indivisible, nonalterable hardware 


75 


COMPUTER GRAPHIC • DOV JACOBSON 








PORTABLE APPROACH 



Due to the device-independent design of VRTX, the executable code generated on different hardware configurations (shown as 
different shapes) is portable within the family; across processor families it provides an identical interface for applications. 


part, Hunter & Ready moves the charac¬ 
ter of software development one large 
step closer to that of the well-standard¬ 
ized environment that hardware engi¬ 
neers have enjoyed for many years. 
Standard software components encour¬ 
age a more consistent approach to the 
task of systems design and simplify 
product configuration control—the 
sometimes onerous task of keeping 
straight which versions of which system 
components work together properly. 

VRTX users need not hunt down 
the correct versions of the correct 
vendor’s linkers and assemblers in or¬ 
der to create executable versions of 
VRTX, because inconsistencies in devel¬ 
opment tools is not a problem. 

Version 3.0 of VRTX/86 has four 
basic modules: VRTX, IOX (input/output 
executive), FMX (file management exec¬ 
utive), and TRACER, a realtime debug¬ 
ging package. The VRTX component 
provides multitasking, interrupt process¬ 
ing, memory allocation facilities, and a 
duplex character I/O channel. IOX 
extends VRTX’s I/O capabilities and al¬ 
lows applications programs to control 
standard or special-purpose I/O devices 
using a simple, uniform interface. FMX 
forms a logical layer that may be placed 
atop IOX and VRTX to manage a struc¬ 
tured disk file system. TRACER provides 
realtime debugging support by allowing 
“back door” viewing and control of sys¬ 
tem operations. 

Within a processor family, VRTX 
software is portable among different 
hardware configurations by virtue of its 
device-independent design. The VRTX 


component, even though it provides 
timing, interrupt processing, and char¬ 
acter I/O services, does not rely on any 
particular clock chip, interrupt control¬ 
ler, or serial I/O device. To use these 
devices, the executive calls on a config¬ 
uration-specific device support package 
(DSP)—a small set of software that 
users must build to Hunter & Ready’s 
specifications. The DSP provides VRTX 
with the device-specific intelligence it 
requires to operate with a particular 
hardware set. 

Its modular design has made VRTX 
well-suited to the needs of system inte¬ 
grators. VRTX is widely used by devel¬ 
opers who manufacture or resell single¬ 
board computers embedded in dedi¬ 
cated, special-purpose realtime systems. 
VRTX system integrators of this type 
must develop their own DSPs. 

VRTX MEETS THE PC 

VRTX/86’s basic, device-independent 
modules are delivered in executable 
form only, either in PROM chips or in 
hex files on DOS-format floppy disks. 
Developers using PROM component 
versions must equip their target systems 
with an adapter board to host the soft¬ 
ware chips (see the accompanying side- 
bar). Developers using the components’ 
software versions can run VRTX in RAM 
on a PC, XT, or BIOS compatible. 

All VRTX code is position-indepen- 
dent. Its only placement requirement is 
that it be aligned on a paragraph 
boundary within the PC’s 1MB memory 
space in a location that does not con¬ 
flict with existing memory or I/O 


devices. The basic modules use the in¬ 
terrupt vector to accomplish all commu¬ 
nications with each other, with the DSP, 
and with applications code. 

Hunter & Ready markets DSPs for a 
number of common hardware configu¬ 
rations, including the PC DSP for PCs, 
XTs, and BIOS-level compatibles. A PC 
developer who elects to operate a com¬ 
ponent in a mode other than that estab¬ 
lished by the BIOS must modify the 
standard PC DSP. 

Delivered as a collection of Micro¬ 
soft Assembler (version 2.0) source 
modules, the PC DSP stands between 
VRTX and the devices and resources of 
the PC (see figure 2). It tailors VRTX to 
operate with the 8237 DMA Controller, 
8253A interval timer, 8259A interrupt 
controller, 6843 video controller, 8250 
USART serial communications control¬ 
ler, PD765-compatible NEC floppy con¬ 
troller, and XT hard-disk controller. 

Like DSPs for other hardware con¬ 
figurations, the PC version contains 
three hardware-specific elements that 
form a logical bridge between VRTX 
and the PC’s particular hardware set: a 
configuration table, a system initiali¬ 
zation module, and a set of interrupt 
processing routines. 

VRTX finds the configuration table 
by using a pointer stored in interrupt 
vector 128 (location 200H). From the 
configuration table, VRTX discovers 
operating parameters and environmen¬ 
tal information such as the location and 
size of its RAM workspace, the number 
of tasks it will be coordinating, the sizes 
of task and interrupt stacks, and so on. 


76 


PC TECH JOURNAL 

























































The PC DSP contains three hardware-specific elements that form a logical bridge 
between VRTX and the PC’s particular hardware set: a configuration table, a system 
initialization module, and a set of interrupt processing routines. 


After establishing a configuration 
table, DSP initialization code is respon¬ 
sible for the following functions: (1) 
installing pointers to the configuration 
table and to VRTX’s system call entry 
point in the interrupt vector, (2) initial¬ 
izing the PC’s devices, (3) calling a spe¬ 
cial initialization routine (VRTX_INIT) 
within VRTX, (4) performing any 
required initialization of serial commu¬ 
nications ports, interrupt mask, (3) in¬ 
voking the initialization of an applica¬ 
tion, and (6) calling VRTX__GO to start 
the multitasking environment and the 
applications tasks in motion. 

The DSP’s interrupt processing 
routines fill out VRTX’s device-indepen¬ 
dent interrupt processing capability 
with the device-specific intelligence 
VRTX requires to manage the PC’s inter¬ 
rupting devices. Its timer interrupt 
processing routine simply makes the 
special VRTX call UI_TIMER to inform 
VRTX that a clock tick has occurred; all 
further clock-based functions are 
performed by VRTX’s generic clock 
management code. 

The DSP’s support for VRTX’s char¬ 
acter I/O channel is more complex. Ap¬ 
plications may call upon VRTX to send 
or receive characters over the serial I/O 
channel using the SC_PUTC and 
SC_GETC system calls. VRTX handles 
all buffering of inbound and outbound 
characters to a depth of 64 characters, 
but must rely on device-specific intelli¬ 
gence in the DSP to accomplish physi¬ 
cal character I/O. 

For receiving inbound characters, 
VRTX provides the call UI_RXCHR (post 
received character from interrupt). Each 
time the DSP’s interrupt processing rou¬ 
tine awakens and receives a character, it 
calls UI_RXCHR to pass the character 
along to VRTX. VRTX buffers the charac¬ 
ter and, if an applications task has an 
outstanding SC_GETC call, forwards it 
to the task when it gets its next oppor¬ 
tunity to run. 

To send characters out, VRTX pro¬ 
vides the call UI_TXRDY. It depends 
upon the DSP’s ready-to-transmit inter¬ 
rupt processing routine to call 
UI_TXRDY each time a device reports 
that it is ready to send another charac¬ 
ter. UI_TXRDY takes a character from 
VRTX’s output queue and returns it to 
the interrupt routine for transmission. If 
the buffer is empty, UI_TXRDY returns 
an error code after noting that the 
transmitter is now ready; when in this 
state, VRTX processes the next applica¬ 
tions task call to SC_PUTC by calling a 
TXRDY driver routine in the DSP to 
transmit the character directly—no 
buffering is required. 


TASKS AND SCHEDULING 

Once placed in execution by a call to 
VRTX_GO from the DSP, VRTX estab¬ 
lishes a priority-based multitasking envi¬ 
ronment with preemptive scheduling. 
Tasks created by the DSP’s application 
initialization phase begin running and 
contending for processor time. These 
tasks may in turn create other tasks 
using the SC_TCREATE system call. 

VRTX supports any number of con¬ 
currently executing tasks, each running 
at one of 256 priority levels from 0 
(highest) to 255 (lowest). Scheduling is 
preemptive; VRTX always maintains in 
execution the highest priority task capa¬ 
ble of running. Once in execution, a 
task continues to run until it terminates 
itself, suspends waiting for some event, 
or a higher priority task becomes ready 
to run. If for any reason a higher prior¬ 
ity task becomes ready to run while one 
with lower priority is running, VRTX 
switches context immediately and runs 
the higher priority task. 

If several tasks at the same priority 
level are ready to run, and no higher 
priority task is ready, the task that most 
recently became ready to run is exe¬ 
cuted. If no higher priority tasks be¬ 
come ready while it is running, it re¬ 
tains control until it suspends, at which 
time it is queued behind all the other 
tasks with the same priority that are 
waiting for their turn to execute. 

Using the SC_TSLICE (enable/dis¬ 
able time slicing) system call, an appli¬ 
cation can change the way in which 
VRTX schedules execution of equal 
priority tasks. When time slicing is 


turned on, tasks of equal priority are 
each allowed a specified number of 
clock ticks’ worth of execution time, 
then suspended while control is rotated 
to the next ready task of equal priority. 
Control continues to be passed in 
round-robin fashion among tasks of the 
same priority until time slicing is dis¬ 
abled (or until a higher priority task 
becomes ready to run). The length of a 
time-slicing interval is specified in the 
enabling system call. 

VRTX’s ability to time-slice among 
tasks of equal priority is valuable and 
distinguishes it from other priority- 
based realtime systems. Systems without 
time slicing can manage one compute- 
bound task easily—the task can be giv¬ 
en the lowest priority so that it will not 
block the execution of time-critical 
tasks. Handling two or more tasks, how¬ 
ever, is quite awkward, because the 
compute-bound tasks must be con¬ 
structed to pass control explicitly back 
and forth. They must create self-im¬ 
posed time slices that are not likely to 
be as uniform in length as VRTX’s 
clock-determined slices. 

The usefulness of time slicing is 
not limited to the management of pro¬ 
cessor-bound tasks. Other situations 
arise in which switching the processor 
rapidly and evenly among tasks of equal 
importance is desirable. A designer 
might want to time-slice among multi¬ 
ple display tasks to avoid haphazard dis¬ 
play management that would be disori¬ 
enting for systems operators. Time slic¬ 
ing is also desirable in time-sharing or 
other dynamic settings where systems 


MAY 1986 


77 






















































The ATI GRAPHICS SOLUTION uses revolutionary 
CMOS VLSI Gate Array Technology to achieve extensive 
multi-display ability with fewer components, longer life, 
lower power consumption and lower price. 

The “SMALL WONDER” GRAPHICS SOLUTION, 
amazingly, has all the features below on one small 
board that fits in the IBM PC/XT short slot! 

What’s more, Parallel and Serial/Parallel expansion 
modules are available as options. 


GRAFIX PARTNER —16 
COLORS 


CMOS VLSI Gate Array Technology 


HERCULES COMPATIBLE 132 COLUMNS 

MONOCHROME GRAPHICS 

Distributors: 

F.A. Components — 

NY (718) 507-1444, outside NY (800) 847-4148 
IN (219) 432-8540, outside IN (800) 331-7567 
SC (803) 288-2422, outside SC (800) 845-2747 
Ossmann Computer Tech.— 

IL (800) 942-5215, outside IL (800) 323-2239 
OH (800) 824-9627, outside OH (800) 824-5934 
NJ (800) 221-2514, outside NJ (800) 624-4010 
NY (800) 628-4466, outside NY (800) 537-5378 
SAI America — MD (301) 459-2100, outside MD (800) 638-9579 
First Source — AZ (602) 437-9744 
RC Data — N. CA (408) 946-3800, (415) 540-0604 
S. CA (714) 634-9400 
Sacramento (916) 395-2592 

Compu-D — TX (800) 772-5340, outside TX (800) 433-5354 
CompuServe — CAN. (416) 477-8088 
Wells Data — ONT (416) 890-2600 
Santronics — BC (604) 522-9877 


IBM Compatible Color/Graphics 


High Resolution 320x200 16 colors 
Color/Graphics 640x200 4 colors 
640x200 16 colors 


132 Columns In either Color or Monochrome 


V 


FUcker-Free Scrolling in All Modes 


Parallel Port 


Fits In Short Slot of IBM PC/XT 


IBM Compatible Monochrome Text 


16 COLORS HIGH 
RESOLUTION 


Hercules Compatible Monochrome Graphics 


Runs Color/Graphics Software on 
Monochrome Monitor In 16 shades 
Without Pre-Boot Drivers 


ATI Graphics Solution 


ATI 

Graphics 

Solution 


Paradise 

Modular 

Graphics 


Hercules 

Graphics 


Plantronlcs 
Color Plus 


COLOR SOFTWARE ON 
MONOCHROME MONITOR 
IN 16 SHADES 


SYMPHONY HIGH 
RESOLUTION 


Warranty 


2 yrs 


Suggested Retail Price 


2 yrs 


Serial/Parallel Expansion Module $79 Parallel Expansion Module $49 


Small Wander From 


450 Esna Park Dr. 
Markham, Ontario, Canada L3R 1H5 


Electronic Marketing Specialists 

S.CA (714) 832-9920, (818) 708-2055, (619) 560-5133 
N.CA (408) 245-9291, CJT (801) 268-9866 
CO (303) 745-0745, AZ (602) 840-8855 


TELEX 06-966640 (CMC—MKHM) TECHNOLOGIES 

(416) 477-8804 FAX (416) 477-9445 INC. 


Trademarks: Paradise. Modular Graphics Card — Paradise Systems Inc.; Hercules Graphics—Hercules Computer 
Technology; GraFix Partner — Bright bill- Roberts; Symphony — Lotus Development Corporation; 

IBM — International Business Machines; Plantronics. Coiorplus — Plantronlcs Enhanced Graphics Corp. 


Competitive information based on manufacturer's published information as of January 1, 1986. 

Specifications subject to change without notice. CIRCLE NO. 206 ON READER SERVICE CARD 

















































PORTABLE APPROACH 


operators can invoke unpredictable 
mixes of tasks that must provide reason¬ 
ably uniform response times. 

In practice, the applicability of time 
slicing is limited by VRTX’s behavior 
when a time-sliced group of peer tasks 
is preempted by a higher priority task. 

If this happens before a task has 
exhausted its time allotment, the 
preempted task is allowed to start its 
slice over. In a busy environment, fre¬ 
quent preemptions can defeat time slic¬ 
ing entirely by preventing some tasks 
from participating in the round robin. 

As many as 255 VRTX tasks can be 
tagged with a unique identification 
number that allows them to be refer¬ 
enced by other tasks or by interrupt 
service routines. A task with an identifi¬ 
cation number can be removed from 
the system by another task using an 
SC__TDELETE system call, or it can be 
made to suspend execution via the 
SC_TSUSPEND call. Once suspended, a 
task remains that way until named in an 
SC_TRESUME call from somewhere 
else in the system. SC__TSUSPEND and 
SC_TRESUME provide complete control 
over a task’s operation; a task that is 
waiting for some event when it is sus¬ 
pended remains suspended even if the 
event occurs, and it does not proceed 
until awakened by an SC_TRESUME 
call. Tasks may apply SC_TDELETE and 
SC_TSUSPEND operations to them¬ 
selves as well as to other tasks. 

Tasks can use the SC_TPRIORITY 
system call to change their own execu¬ 
tion priority or the priorities of other 
tasks while processing. They also can 
discover the priority and status of other 
tasks by making an SC_TINQUIRY call. 
By passing the special task identifying 
number 0, a task can use SC__TINQUIRY 
to determine its own priority and status. 

VRTX’s complement of intertask 
control and inquiry functions provides 
the systems designer with ample flexi¬ 
bility to build and tune systems with 
dynamic responsiveness. A task that 
spends most of its time performing rou¬ 
tine, low-priority processing chores, for 
example, can be coded to elevate its 
priority temporarily to race through the 
handling of occasional critical inputs. 

The ability of tasks to create, sus¬ 
pend, and resume other tasks allows a 
designer to place broad control of sys¬ 
tem operation in the hands of system 
operators by equipping them with com¬ 
mands to start, stop, suspend, or re¬ 
sume system functions in the midst of 
processing. VRTX’s intertask control 
facilities enable graceful handling of 
problem situations. In a process control 
system monitoring input from several 


interrupting devices, for example, a 
command to suspend a particular de¬ 
vice’s input task can be made available 
to the operator in the event that a de¬ 
vice malfunctions and swamps the sys¬ 
tem with a torrent of bogus data. In 
multitasking systems without VRTX’s di¬ 
rect intertask control capabilities, giving 
one task direct control over another’s 
activities is much more difficult. 

A VRTX task can temporarily dis¬ 
able VRTX’s normal preemptive sched¬ 
uling of tasks by issuing an SC_LOCK 
(disable task rescheduling) call. When it 
receives control back from a call to 
SC__LOCK, a task is guaranteed that no 
other tasks will be allowed to run, even 
if they become ready at higher priori¬ 
ties, until the locking task calls 
SC_UNLOCK. While between lock and 
unlock calls, a task shares the processor 
only with interrupt service routines. 

Through locking, the systems 
designer can avoid the more extreme 

T \e complement of inter¬ 
task control and inquiry 
functions provides the de¬ 
signer with ample flexibility 
to build and tune systems. 


measure of disabling processor inter¬ 
rupts in order to protect critical sec¬ 
tions of code from interruption by 
other tasks. Also, unlike instructions to 
disable and enable interrupts, the 
SC_LOCK and SCJJNLOCK calls nest 
properly. If subroutine A locks schedul- * 
ing, calls subroutine B, then unlocks 
scheduling, scheduling remains locked 
until A unlocks it, even if B locks and 
unlocks scheduling in the interim. 

MAILBOXES AND QUEUES 

VRTX tasks can engage in synchronized 
communications by sending and receiv¬ 
ing 32-bit messages via mailboxes , a 32- 
bit variable declared within an applica¬ 
tions module. A task sends a message to 
a mailbox by passing a 32-bit, nonzero 
message and the address of the mailbox 
to the system call SC_POST. If the mail¬ 
box is empty, the calling task’s message 
is deposited. If it is not, the caller 
receives a failure code back from 
SC_POST. In either case, the calling 
task remains ready to run. 

Messages from mailboxes are 
obtained in one of two ways. A task call¬ 


ing SC_ACCEPT for a particular mail¬ 
box receives and consumes a message 
if one is present. If the mailbox is 
empty, an error code is returned. 

By calling SCJPEND for a mailbox, a 
caller receives a message if one is pres¬ 
ent or suspends until one is deposited. 
If multiple tasks suspend the use of 
SC_PEND at the same mailbox, the next 
incoming message is awarded to a wait¬ 
ing task, and the task is allowed to pro¬ 
ceed in order of task priority. A task 
calling SQJPEND has the option of 
specifying a time limit; if the time limit 
is reached before a message arrives, the 
waiting task is returned an error code 
and allowed to proceed. 

Mutual exclusion around a re¬ 
source or critical section of code can be 
accomplished easily using VRTX mail¬ 
boxes. A task requests a resource by 
calling SC_PEND on its associated mail¬ 
box (the mailbox must be initialized to 
contain a message) and releases it by 
calling SC_POST to redeposit a mes¬ 
sage. The releasing call to SC_POST 
allows the next requesting task to pro¬ 
ceed past its call to SC_PEND. 

VRTX also provides system calls 
that manage synchronized data queues 
of 32-bit messages. Unlike mailboxes, 
queues are created in VRTX-maintained 
system workspace memory. Tasks form 
queues by using the system call 
SC_QCREATE and passing a maximum 
queue size parameter and a 16-bit 
queue ID number by which subsequent 
system calls can identify the queue. 

The three queuing primitives 
SC__QPOST, SC_QACCEPT, and 
SC_QPEND are analogous in their 
operation to the corresponding system 
calls for managing mailboxes: 
SC_QPOST enqueues a message or 
reports failure if the queue is full; 
SC_QACCEPT dequeues and consumes 
a message if one is present or reports 
failure if the queue is empty; and 
SC__QPEND waits for the arrival of a 
message if necessary, then dequeues 
and consumes it. SC__QPOST, like 
SC_POST, accepts an optional param¬ 
eter that can be used to specify the 
amount of time a caller is willing to 
wait for a message to appear in an 
empty queue. As with mailboxes, multi¬ 
ple tasks contending for messages from 
a single queue are awarded messages in 
order of task priority. 

The SC_QINQUIRY system call can 
determine the number of messages in a 
queue and the contents of its first mes¬ 
sage; calling SC_QINQUIRY does not 
consume a message. 

Just as a VRTX mailbox can be used 
to accomplish mutual exclusion about a 


MAY 1986 


79 








For You, Good Is Just Not Good Enough. 


For serious programmers, good isn't good enough. You need the best 
...the best tools, the best advice and the best support. 

At Lifeboat, we've been selling to programmers since 1976, so we 
know quality when we see it. And we're committed to a full-service 
program that goes beyond just selling you the best software at 
competitive prices. Our expert staff can help you decide which 
programs are best for your needs and provide you with all the 
technical support you may require. You can rely on Lifeboat for the 
complete solution to your programming needs. 


LANGUAGES 

Lattice C New 3.0 Version 

The best selling C Compiler has been 
upgraded to give you more functions and 
features. Lattice C 3.0 contains 200 new 
library functions, better code generation, 
support for new data types (void, enum, 
unsigned char, unsigned long), support for 
80186/80286 instruction set and the ability 
to generate in-line 8087/80287 instructions. 
Lattice C is the C compiler for professional 
developers. 

RUN/C—The C Interpreter 
Upgraded Version 

Learn C the natural way with RUN/C. The 
user interface is similar to BASIC with easy 
familiar commands. The new 2.0 version of 
RUN/C comes with a full-screen editor and 
other enhancements. 

RUN/C Professional New 

RUN/C's features plus powerful enhance¬ 
ments for program development. Load your 
favorite object libraries with RUN/C Profes¬ 
sional. Contains a full-screen editor and 
source code debugging facilities. 

Mark Williams 
C Programming System 

A complete development environment. 

Pro Pascal 

A truly standard Pascal. Produces fast, tight 
code with plenty of compile time options and 
simple one-line commands. 

BetterBASIC New Version 

Now you can program in BASIC and use the 
full memory of your PC, create structured 
programs using functions and procedures, 
make your own library modules and more. 
Now compatible with Microsoft BASIC. 

LANGUAGE UTILITIES 


C-SPRITE 

Symbolic debugging at both source level and 
machine level. Monitor your program by 
setting breakpoints, examining registers and 
variables, or single-stepping through code. 
Handle a set of commands as a macro. 
C-SPRITE and the Lattice C Compiler are 
a natural pair for program development 
and debugging. 

BASTOC 

A BASIC to C translator for the BASIC 
programmer who wants to upgrade to C. 

EDITORS 

LSE 

A powerful yet inexpensive full-screen editor 
designed for efficiency and ease of use. Its 
speed is optimized by writing directly to video 
memory. The Lattice Screen Editor provides a 
multi-window environment, ability to repro¬ 
gram keys, support for keyboard macros, an 
undo command, an error tracking mode, 
on-line help and more. 

VEDIT Plus 

A full-screen text editor for program 
development and word processing. It contains 
powerful features including use of macros, 
on-line help facility, paragraph formatting, 
and file comparison. 

Pmate 

The programmer's editor with a powerful 
macro command language. Compile in the 
background while you continue to edit files. 

EMACS 

Customizable editor including windowing, 
multi-tasking and special modes for C 
and Pascal. 

FUNCTIONS 

C-Food Smorgasbord 

Library of time saving utility functions 
including a BCD package, an IBM PC BIOS 
interface, level 0 I/O functions, a terminal 
independence package and more. 


PforCe Brand New 

An optimized library of an impressive 400 plus 
functions and subsystems for the C program¬ 
mer. PforCe is so comprehensive you may 
never need another library. Included is a 
window management system with overlap¬ 
ping or tiled windows and a database system 
with B-tree file structure. Several pre-coded 
screens including ''Lotus" style are supplied. 
And there's much more! Routines for interrupt 
driven communications, background tasks, 
and string/table parsing, along with functions 
for field/screen editing and validation are all 
part of this superbly written and documented 
software. Complete source code is included. 

The Greenleaf Functions 

A mature library of over 200 functions. 

Version 3.0 offers all new indexed docu¬ 
mentation, with an abundance of examples. 
Source code included. 

The Greenleaf Comm Library 

Powerful communication library. Includes 
functions to create interrupt driven routines or 
perform direct I/O to multiple Comm Ports. 

GRAPHICS and 
SCREEN DESIGN 

Essential Graphics New 

A brand new graphics library for C 
programmers with the emphasis placed on 
ease of use and portability. All the important 
routines are included for line, circle, ellipse, 
box, diagonal, hatching patterns, flooding and 
more! Create bar and pie charts with one 
command. Automation is easy too. And, 
unlike other popular graphics packages,there 
are no royalties for the use of Essential 
Graphics in software development. Finally, as 
an extra bonus, ten of the most popular font 
styles are included. 

GSS GRAPHICS 

GSS Computer Graphics Interface is designed 
for creating high performance graphics 
based applications, providing true device¬ 
independence. Products in the GSS line 
include the Graphics Development Toolkit, 
the Kernel System, the Plotting System and 
the Metafile Interpreter. 

Multi-Halo 

Library of over 200 graphics functions, 
supporting all of the popular graphics boards. 

Panel 

A powerful tool for interactive screen design. 


INTERNATIONAL 
SALES OFFICES 
Australia: Fagan Micro¬ 
processor Associates 
Phone: (61) 3699-9899 
Canada: Scantel Systems 
Phone:(416)449-9252 
England: Grey Matter, Ltd. 

Phone: (44) 364-53499 

Italy: Lifeboat Associates, S.p.A., 

Phone: (02) 656-841 

Japan: Lifeboat Japan 

Phone: (03) 293-4711 

Spain: Micronet, S.A. 

Phone: (34) 1-457-5056 

The Netherlands: GIGA Computer 

Products 

Phone: (31) 10-771846; SCOS Auto¬ 
mation BV. Phone: (31) 20-1069224 


Lifeboat 

55 South Broadway 
Tarrytown, NY 10591 


Pfix86 Plus 

A powerful symbolic and source level 
advanced debugger for programming 
professionals. 


Essential C Utility Library 

Over 300 functions, with special attention 
given to screen handling, windows and 
business graphics. Source code is included. 


For more information on these and other 
products in our complete line call: 


1-800-847-7078 In NY: 914-332-1875 


I XCDfkAT 


The names of products listed are generally the trademarks of the sources of the 
products. 

©1986 Lifeboat Associates 


The Full-Service Source for Programming Software. 

CIRCLE NO. 144 ON READER SERVICE CARD I 





PORTABLE APPROACH 


resource, a queue can be used to 
implement resource pool management 
in the style of Dutch theorist Edsger 
Dijkstra’a semaphore synchronizers. A 
semaphore is an abstract data structure 
that can be used with the indivisible, 
primitive operations signal and wait to 
accomplish task synchronization. Each 
semaphore contains a resource count 
and a FIFO queue. Tasks wishing to 
gain access to a unit resource execute a 
wait operation on its associated sema¬ 
phore. If the semaphore’s count is 
greater than 0, it is decremented and 
the task is allowed to proceed; if the 
count is 0, the task is placed at the tail 
end of a queue of waiting tasks. A task 
freeing a unit of resource executes a 
signal operation on its semaphore, 
which increments the count; this allows 
a waiting task to leave its place at the 
head of the queue, complete its wait 
operation by decrementing the count, 
and resume execution. 

Given a finite pool of resources for 
which tasks compete, such as a set of 
eight serial communications ports 
through which telephone calls can be 
placed, an applications system can use a 
VRTX queue to ensure orderly alloca¬ 
tion of the ports as follows: initially, a 
queue of size eight is created and eight 
messages are enqueued, each holding 
the number of an available port; each 
time a task needs to place a call, it exe¬ 
cutes an SC_QPEND call to get the 
number of a free port; when it has fin¬ 
ished its call, the task places the port 
back in the resource pool by enqueuing 
its number with an SC_QPOST call. 

Although in general use the 
SC_QPOST call differs from Dijkstra’s V 
(signal) operation in that it observes 
task priorities and can fail, it provides a 
close approximation to signal’s opera¬ 
tion when the system design guarantees 
that no task ever attempts a QPOST 
operation on a full queue. 

MEMORY ALLOCATION 

Using VRTX’s memory allocation calls, 
an applications system can create mem¬ 
ory partitions from which fixed-size 
blocks of memory may be allocated 
upon request by tasks. Partitions are 
created using the SC_PCREATE system 
call. Each partition consists of some 
number of contiguous paragraphs of 
memory and has an associated block , or 
allocation unit, size; block size is also 
specified in paragraphs. An application 
can create any number of partitions, 
each with its own block size. A system 
might, for example, maintain a partition 
of 100 I/O buffers consisting of 512 
bytes each and a second partition of 


1,000 message buffers of 16 bytes each. 
If the need arises, partitions can be 
enlarged using the SC_PEXTEND call. 
Tasks request and release individual 
memory blocks from a partition using 
the SC_GBLOCK and SC_RBLOCK calls. 

The allocator deals in fixed-size 
memory blocks, so it does not suffer 
from the memory fragmentation prob¬ 
lems possible in variable block-size al¬ 
location schemes, and it requires no 
compaction procedures to reorganize 
free memory within partitions. 

Because a partition is simply a con¬ 
tiguous region of user memory, parti¬ 
tioning affords the user a great deal of 
flexibility in establishing and using 
memory pools. A system can, for exam¬ 
ple, create one partition of very large 
blocks, then, in turn, define some or all 
of the large blocks as nested partitions 
containing smaller blocks. 

VRTX’s partitioning approach to 
memory allocation has another impor- 


As with mailboxes, multiple 
tasks contending for mes¬ 
sages from a single queue 
are awarded messages in 
task priority order. 


tant advantage over schemes that parcel 
out free memory from a single, mono¬ 
lithic pool, as UNIX’s malloc subroutine 
does. Partitioning provides natural 
boundary lines along which a systems 
designer can divide free memory in 
order to eliminate system deadlocks. A 
message switching system, for example, 
might be designed so that one task re¬ 
ceives messages from a communications 
line, a second reformats them, and a 
third wraps a new envelope of control 
information around them and then for¬ 
wards them out. 

Given this division among tasks, 
the input task might want to allocate a 
buffer for each incoming message and 
queue the message to the reformatting 
task, which allocates a second buffer to 
hold the revised message text. This ap¬ 
proach raises the possibility of system 
deadlock if all buffers are allocated 
from the same pool. A rapid burst of in¬ 
coming messages could consume all 
available buffers and leave the reformat¬ 
ting task with no buffers available to 
hold reformatted messages. Using parti¬ 
tioning, a VRTX-based designer could 


prevent this type of deadlock by creat¬ 
ing two memory partitions and 
allocating inbound message buffers 
from one and outbound (reformatted) 
message buffers from the other. 

Communications between VRTX 
tasks and the standard complement of 
PC I/O devices is supported by Hunter 
& Ready’s DSP. VRTX users can inte¬ 
grate other, nonstandard I/O devices by 
adding their own initialization and 
interrupt service routines to the DSP. 

Users have two alternatives when 
integrating a new interrupt-producing 
device. If the device’s interrupt service 
routine (ISR) can run completely be¬ 
hind the scenes, with no interaction 
with VRTX tasks, it can be coded just as 
an interrupt handler for a simpler envi¬ 
ronment such as DOS is coded. A ser¬ 
vice routine for a “watchdog” or “dead- 
man” timer device, for example, which 
interrupts periodically and automatically 
causes a hardware reset and system re¬ 
start if it is not serviced within a short 
period of time, would fall into this cate¬ 
gory. Its ISR could save registers on the 
stack of whichever task happened to be 
running when the interrupt occurred, 
service the device, then restore regis¬ 
ters and perform an IRET instruction. 

If an ISR does require interaction 
with the multitasking environment, as 
most do, it must be designed to cooper¬ 
ate with VRTX’s task scheduling mecha¬ 
nism. ISRs that must execute VRTX ser¬ 
vice calls to signal or exchange data 
with tasks fall into this category. A user- 
supplied ISR cooperates with VRTX by 
calling UI_ENTER when the ISR begins 
executing and calling UI_EXIT when it 
finishes. UI__EXIT examines the system 
state to see if any of the actions per¬ 
formed by the ISR could have readied a 
task of higher priority than the current¬ 
ly executing task. In this way, the higher 
priority task gets the earliest opportuni¬ 
ty to preempt the running task. 

ISRs calling UI_ENTER and 
UI_EXIT can use another element of 
VRTX’s interrupt processing support: 
automatic interrupt stack switching. If, 
at system initialization time, the DSP is 
configured to enable the maintenance 
of an optional interrupt stack, then 
UI_ENTER and UIJEXIT perform stack 
switching as well as cooperating with 
the VRTX scheduler. In a system config¬ 
ured with an interrupt stack, all inter¬ 
rupt service routines use the interrupt 
stack instead of task stacks for their 
local storage. UI_ENTER and UI_EXIT 
manage nested interrupts properly by 
switching to the interrupt stack only 
when interrupt processing is not 
already in progress. 


MAY 1986 


81 









FORTRAN PROGRAMMERS 

LOOK FAMILIAR? 




F77L GETS YOU OUT OF THESE SITUATIONS 


1. PROGRESS IMPOSSIBLE 

You’ve tried other PC FORTRANS, 
but none of them allow you to 
complete your project. It could be 
the lack of key features, the over¬ 
whelming bugs, being stuck with a 
subset, or the inability to run large 
programs. 

The answer to your problems is 
f 77 l. With F77L you not only get 
the full ANSI(X3.9—1978) Standard 
but additional features for flexibility 
in programming. We have done 
more than simply design a product 
to run all your programs, we imple¬ 
mented a system that allows users 
to reach their full programming 
potential. At LCS, we have been 
specializing in FORTRAN for over 
16 years, and we believe that our 
commitment and dedication to 
FORTRAN has resulted in the 
finest language system available. 

1 ‘Judging by Lahey’s corporate 
history, they’ve got lots of 
experience writing FORTRAN 
compilers. Judging by my 
experience with their product, 

I would agree wholeheartedly.” 

IEEE Software, November 1985 

2. THE ENDLESS COMPILE 

Your valuable time is spent waiting 
endlessly for your programs to 
compile. 

We have not only developed an 
unbelievably fast compiler but we 
did it without sacrificing features, 
diagnostics, or the speed of execution. 


This uncompromising attitude is 
evident in the quality and performance 
of F77L. Whether you are 
downloading from mainframes or 
developing on the personal computer, 
you can appreciate the importance of 
compiler speed. 

“FyyL compiled the five files in a 
total of 12 minutes, which was 4 
times as fast as MS FORTRAN and 
an astounding 6 times as fast as 
Pro FORTRAN.” 

PC Magazine, Dec. 24, 1985 

3. MYSTERY MESSAGES 

The messages your FORTRAN is 
giving don’t make any sense. 
f 77L eliminates the confusion by 
explicitly diagnosing errors. The 
compiler and run time messages 
describe, in plain English, the nature 
and location of the error. For logical 
program errors, we provide our unique 
Source On-Line Debugger (SOLD). 
SOLD allows you to interface with 
your program at the FORTRAN level 
and doesn’t require re-compiling or 
re-linking. If you happen to run into an 
especially tough problem, you can call 
our technical staff for assistance. 

‘‘The manual that comes with this 
compiler is well put together. The 
messages are clearly explained, the 
compiler’s unique features are well 
documented.. .All in all, FyyL is a 
fine, well supported product that we 
think will do very well in the 
marketplace. ” 

Computer Language, January 1986 


Isn’t it time to say good-bye to all the 
shortcomings of your old FORTRAN 
system, and get back to enjoying 
programming. 

F77L 

“IKE PROGRAMMER S FORTRAN” 



VERSION 2.0 
NOW 

AVAILABLE 

• Full ANSI FORTRAN 77 

• Arrays greater than 64K 

• User-Friendly Manual 

• Third Party Compatibility 

• Advanced Source On-Line Debugger 

• Simple English Diagnostics 

• Extensions for easy mainframe porting 

• Technical Support from LCS 



“Lahey’s F77L FORTRAN is the 
compiler of choice.” 

PC magazine 

$477 

Requires: PC/MS-DOS, 256K, 8087/80287 

TO ORDER OR FOR MORE INFORMATION 

(213) 541-1200 

Lahey 
Computer 
Systems, Inc. 

31244 Palos Verdes Dr. WSuite #243 
Rancho Palos Verdes, CA 90274 

MS FORTRAN s a trademark of Microsoft Corporation 
Professorial FORTRAN is a trademark of International Business Machines. 



CIRCLE NO. 128 ON READER SERVICE CARD 



































PORTABLE APPROACH 


VRTX, although firmly cast in sili¬ 
con, supports user-defined extensions 
to its multitasking environment. VRTX 
code for creating tasks (SC_TCREATE), 
deleting tasks (SC_TDELETE), and 
switching from one task’s context to 
another incorporate hooks —calls to 
optional, user-supplied routines that are 
executed each time VRTX performs one 
of these functions. A system indicates to 
VRTX that it wishes to participate in the 
processing of these events by storing 
the addresses of its cooperating rou¬ 
tines in the VRTX configuration table. 

Internally, VRTX maintains task 
state information in data structures 
called task control blocks (TCB). When 
giving user code a chance to run at 
these key times, VRTX passes relevant 
information about the current state of 
the environment by passing TCB 
addresses. The user’s cooperating rou¬ 
tine for task creation receives the TCBs 
of both the creating and created tasks; 
the deletion routine receives those of 
deleting and deleted tasks; and the con¬ 
text switching routine receives the TCBs 
of the pre- and post-switch active tasks. 

User-supplied extensions to VRTX’s 
task management can accomplish a vari¬ 
ety of extensions to task environments. 

A user could choose, for example, to 
override VRTX’s automatic allocation of 
a fixed-size stack for every task and 
interject his own code to manage vari¬ 
able-size stacks. If working with a nu¬ 
meric coprocessor or other high-speed, 
tightly coupled device, a user could 
extend VRTX to save and restore both 
the device’s registers and the main pro¬ 
cessor’s registers as part of a task’s con¬ 
text. User-supplied extensions could 
even be used to allocate and maintain 
large, application-specific data structures 
as part of a task’s context, parallel with 
but independent of VRTX’s TCBs. 

INPUT/OUTPUT EXECUTIVE 

The systems architect whose I/O re¬ 
quirements go beyond the management 
of a single stream of serial character I/O 
can benefit from the VRTX family’s IOX 
software component. IOX supports and 
structures the management of concur¬ 
rent, buffered I/O operations to charac¬ 
ter, block, and disk devices. 

Applications tasks in a system 
equipped with IOX are presented with 
a simple, uniform interface to a system’s 
I/O devices. IOX relieves applications 
code of the need to know details of its 
devices’ operating characteristics: 
whether they interrupt, which physical 
ports and I/O instructions are required 
to start them working, which transient 
error conditions may arise, and so on. 


Applications tasks see only a set of ho¬ 
mogeneous I/O channels that may be 
opened, closed, read, written, reset, and 
otherwise manipulated (table 1). 

IOX’s capabilities are tailored to 
the requirements of realtime systems. 

In addition to performing basic, direct 
I/O to devices, IOX can manage buf¬ 
fered, asynchronous I/O operations. In 
making an IOREAD or IOWRITE call, 
for example, an applications task can 
specify that the read or write is to be 
performed asynchronously—that is, 
concurrently with the task’s continued 
execution. A task can, in fact, initiate 
many asynchronous I/O operations to 
the same or different devices, then, us¬ 
ing IOWAIT, wait for notification that 
the operations are complete. Instead of 
sitting idle (suspended) while the physi¬ 
cal reads and writes are performed, the 
task is free to proceed with other pro- 

Partitioning provides natu¬ 
ral boundary lines along 
which a system designer 
can divide free memory to 
eliminate system deadlocks. 



cessing until it absolutely requires the 
results of its I/O requests. 

Like VRTX, IOX is a position-inde¬ 
pendent, device-independent software 
module that must be tailored to its 
hardware environment by means of 
user-supplied, device-specific routines. 

A systems programmer extending 
IOX to provide access to a particular 
device must first determine whether it 
is a character , block , or disk device. 
Character devices transfer streams of 
bytes, usually one at a time; they often 
produce unsolicited input, as in the 
case of a keyboard. Block devices trans¬ 
fer data only on request, in sequential, 
variable-length blocks. Most printers 
and tape controllers are classified as 
block devices. Disk devices transfer data 
on request in fixed-length blocks and 
are capable of random access across a 
storage address space. 

IOX’s buffering and channeling ca¬ 
pabilities also provide interfacing to un¬ 
usual devices that do not fall in one of 
the standard categories, or they can be 
used for non-I/O functions, such as in¬ 
tertask communications. 

IOX provides a set of generic buf¬ 
fering, timing, and coordination services 


that may be helpful in user-supplied de¬ 
vice management code. It also provides 
a standard model, or template, of I/O 
processing logic that a systems pro¬ 
grammer fills in for each particular 
device by supplying device-specific 
routines. Interfaces to devices that trans¬ 
fer a byte at a time follow a scheme of 
interaction that is a generalization and 
extension of that used in the VRTX 
module for character I/O. IOX’s generic 
services for byte I/O include automatic 
buffering of unsolicited input (type- 
ahead buffers) and an optional short- 
circuit data path for echoing input char¬ 
acters back to terminal devices. 

Disk and nondisk block-transfer 
devices are integrated under IOX by 
supplying a device service routine 
(DSR), an interrupt service routine 
(ISR), and an exception-processing rou¬ 
tine. DSRs contain the device-specific 
intelligence necessary to start devices; 
ISRs contain that required to process 
completion interrupts; and exception 
processors perform special processing 
when time-out or other conditions arise 
that may affect an operation in progress. 

Upon receipt of an I/O system call 
from an applications task, IOX consults 
internal tables and determines, based 
on the I/O channel identified in the 
call, which DSR is associated with the 
indicated device. It then allocates and 
prepares a device service request block 
(DSRB), an internal data structure in 
which IOX tracks the status of an opera¬ 
tion as it progresses. The DSRB is 
passed to IOX’s request management 
. module, which activates the device’s 
DSR or queues the request if the device 
is busy. When the device interrupts to 
signal completion of its operation, the 
ISR services the interrupt, interprets the 
device’s status, and passes information 
to IOX that enables IOX to complete its 
processing of the application’s request. 
I/O system calls may be given with an 
I/O priority level, independent of task 
priority, which determines their treat¬ 
ment relative to other I/O requests. 

A device’s exception-processing 
routine is activated when conditions 
asynchronous with the device’s opera¬ 
tion arise, requiring special, device¬ 
specific handling. A device time-out is 
one such condition; a request from an 
applications task to reset a device is an¬ 
other. System-wide conditions may arise 
that require exception processing for all 
devices, such as the detection of an 
imminent power failure. 

Just as systems architects can tailor 
VRTX’s task management by supplying 
hook routines to VRTX, they can aug¬ 
ment IOX’s processing of I/O requests 


MAY 1986 


83 









EGA? 

QUADRAM, 
OF COURSE. 



Move ahead with the Quadram EGA Solution. Together, our 
new enhanced monitor and video board deliver the extended 
color selection and crisp resolution that makes all your work look 
better. And when your work looks better, you look better too. 

QuadChrome Enhanced Display 

Begin your move with our new EGA monitor, for brilliant 
graphics in enhanced mode and bright, colorful displays in 
standard mode. A big 13” screen, built-in green/amber switch for 
extra sharp text, and a tilt/swivel base combine to bring you 
comfortable, easyon-the-eyes viewing. 


QuadEGA+ Graphics Adapter 

Next, our full-performance EGA board, 100% compatible with 
the four PC display standards: Enhanced graphics. Standard 
color graphics. Hercules monochrome graphics. And monochrome 
text. Across the board compatibility like this means you can use 
all your current software ana still be prepared for the future. Plus, 
witn both our EGA board and monitor, you get an extended two 
year warranty for the ultimate in reliable performance. 


Where do you go for EGA performance like this? Your authorized 
Quadram dealer, of course. Don’t wait. Move ahead now. For 
more information, contact us at One Quad Way, Norcross GA 
30093; (404) 564-5566. 



The Quadram EGA Solution 

BOARD $595 MONITOR $795 


CIRCLE NO. 147 ON READER SERVICE CARD 


















PORTABLE APPROACH 

for some or all devices by supplying co¬ 
operating routines that IOX invokes at 
four key processing points: DSRB crea¬ 
tion, deletion, enqueuing, and dequeu¬ 
ing. By supplying custom DSRB enqueu¬ 
ing and dequeuing routines for a disk 
drive, a designer can override IOX’s de¬ 
fault priority ordering of I/O requests, 
instead ordering them by disk head po¬ 
sition or by rotational position. 

FILE MANAGEMENT EXECUTIVE 

The VRTX family’s FMX components 
manage structured hie systems on disk 
devices. Hunter & Ready supplies one 
version of FMX for the VRTX/86 family, 
designated FMX/DOS 86. In keeping 
with Hunter & Ready’s other software 
components, FMX is device-indepen¬ 
dent. It creates, reads, and writes hie 
systems compatible with DOS 2.1. Later 
versions are not yet supported. 

Unlike several other commercial 
realtime systems, FMX does not rely 
upon DOS itself to provide access to 
the DOS hie system. FMX stands alone 
and manages the structure of informa¬ 
tion on the disk directly, duplicating the 
functions performed by DOS hie man¬ 
agement code. This approach will keep 
Hunter & Ready busy creating new 
versions of FMX/DOS as IBM revises 
and extends hie system structure with 
new releases of DOS; it also will make 
VRTX integrators dependent on the 
company for continued compatibility 
with DOS. An advantage to this ap¬ 
proach, however, is the powerful free¬ 
dom it has given Hunter & Ready to 
eliminate the DOS hie system’s numer¬ 
ous realtime drawbacks—most notably 
its inability to perform more than one 
hie system operation at a time. 

FMX operates in close conjunction 
with IOX to provide disk volume, direc¬ 
tory, and hie management services; it 
depends on IOX for most of its applica¬ 
tions interface and all of its physical 
disk I/O operations. 

Applications tasks call FMX directly 
to create, format, query, mount, and dis¬ 
mount volumes; to create and delete di¬ 
rectories; and to create, delete, rename, 
and manipulate individual hie attributes. 
An applications task reads and writes a 
hie by making one direct FMX call, 
FMOPEN, to associate an IOX channel 
with the hie, then performing all subse¬ 
quent operations by making IOX calls. 

The cooperation between FMX and 
IOX is a complex but elegant arrange¬ 
ment. Once a channel has been asso¬ 
ciated with a hie by a call to FMOPEN, 
applications code makes its read and 
write requests by calling IOX generic 
interface routines. The routines, recog- 


TABLE 1: IOX Component 


MNEMONIC 

FUNCTION 

IOCLOSE 

Close a channel 

IOCNTRL 

Perform special or de¬ 
vice-specific operation 

IOGET 

Perform buffered read 

IOOPEN 

Open a channel 

IOPUT 

Perform buffered write 

IOREAD 

Perform direct read 

IORESET 

Reset a channel 

IOWAIT 

Await completion of 
asynchronous I/O 

IOWRITE 

Perform direct write 


The task does not need to know a de¬ 
vice’s operating characteristics; it 
treats all devices the same, and the 
IOX module provides the interface. 


nizing that the calls reference FMX-man- 
aged channels, make intermodule calls 
to FMX. FMX uses its knowledge of the 
hie system’s logical structure to trans¬ 
form the application’s requests into 
calls back to IOX’s lower-level physical 
I/O request processing routines, which 
read and write physical disk blocks as 
necessary to accomplish the applica¬ 
tion’s requested hie operations. Despite 
its intimate involvement in hie system 
operations, IOX remains completely 
ignorant of hie system structure. 

Because hie I/O is performed 
through IOX channels, tasks using FMX- 
managed hies enjoy the same variety of 
access methods that IOX provides for 
nondisk, nonstructured devices: hie I/O 
can be buffered or unbuffered, synchro¬ 
nous or asynchronous. Multiple tasks 
can open channels to the same hie and 
share its use without making any special 
provisions. Alternatively, a task may 
open a hie for exclusive use, guarantee¬ 
ing that no other tasks will successfully 
open it until it has been closed by the 
exclusive opener. 

Random and sequential hie oper¬ 
ations are supported. Sequential opera¬ 
tions include those that are data sensi¬ 
tive—reads and writes that transfer vari¬ 
able amounts of data terminated by a 
special character. A hie user can request 
that FMX accelerate sequential opera¬ 
tions by using a read-ahead/write-be- 
hind strategy. When an applications task 
reads a block from a channel open in 
this mode, FMX anticipates its next call 
by reading the next block into memory, 
perhaps allowing the task’s next read 
request to be satished without requiring 
it to wait for a physical disk read. Like¬ 
wise, write-behind hie write operations 
do not automatically cause a writing 


task to wait for completion of the physi¬ 
cal write; the data are buffered and the 
task is allowed to proceed. Applications 
specify the number of buffers available 
for use in each channel’s read-ahead/ 
write-behind cache when opening a hie. 
A task should not obtain incorrect infor¬ 
mation due to this mechanism. Read 
requests will get the most current 
information by taking it, if necessary, 
directly from the buffer. 

Regardless of whether read-ahead/ 
write-behind management is enabled 
on some or all hie channels, applica¬ 
tions tasks can exercise close control 
over how often data are physically writ¬ 
ten to disk. Write operations can be is¬ 
sued with a commit option, ensuring 
that all resulting disk writes be success¬ 
fully performed before the calling task 
proceeds. Alternatively, a task can en¬ 
sure that all modihed sectors on a vol¬ 
ume are physically written to disk by 
making the FMX volume management 
call FDSYNC (synchronize volume). 

TRACER 

The VRTX family’s realtime debugging 
module, TRACER, allows a systems 
developer to observe and control the 
operation of a VRTX system from a stan¬ 
dard terminal. Like debuggers for sin¬ 
gle-task environments, TRACER allows 
the operator to examine, disassemble, 
and change the contents of memory 
and registers and to control system 
execution by setting breakpoints or exe¬ 
cuting in single-instruction steps. Unlike 
generic, single-task debuggers, TRACER 
has built-in knowledge of VRTX’s inter¬ 
nal data structures and can examine and 
control a multitasking system without 
interfering with its operation. 

TRACER can be integrated into a 
VRTX system with virtually no change to 
other system components. It requires 
one serial I/O channel for its communi¬ 
cations with the operator, but can be 
conhgured to share VRTX’s single serial 
I/O channel. Under the shared channel 
arrangement, the terminal operator can 
toggle between VRTX and TRACER with 
a single keystroke. 

TRACER stays out of the multitask¬ 
ing environment’s way by running as an 
interrupt service routine. It accumulates 
operator commands keystroke by key¬ 
stroke as TRACER terminal interrupts 
occur, carrying them out when a new- 
line character is received. TRACER 
breakpoints are implemented using 
software interrupt instructions; break¬ 
point processing is done within the 
confines of an interrupt service routine. 

The operator can run the system 
either in command or tasking mode, 


MAY 1986 


85 











Carbon Copy lets you 

play any program in stereo. 


For all you virtuosos who’ve been 
searching for the best way to run PCs 
remotely, your search is over. Thanks to 
Meridian Technology’s Carbon Copy™ The 
ultimate software tool for instantly connect¬ 
ing your PC to any other PC. 

Carbon Copy is a remote control 
program for IBM PCs, XTs, ATs, and compat¬ 
ibles. It lets you use your local PC to control 
and monitor a remote PC over a communica¬ 
tions link. And once you’re connected, you 
can run any program you wish: application 
programs, hardware or software diagnostics, 
utilities, you name it. 

When Carbon Copy links the two PCs, 
their screens, keyboards, printers and disk 
drives act literally as one. A keystroke entered 
on one is displayed on the other. Simultane¬ 
ously. It’s almost like living in stereo. 

Or being two places at the same 
time. In fact, the only thing you can 
do to your local PC that you carft 
do on the remote PC is change 
a floppy disk. 

With Carbon Copy running 
as a background task on both of the 
PCs, you can monitor a program running on 


another PC. You can run a program locally 
to diagnose a problem at the other end. 
You can even install new software at remote 
sites from your office PC. All without ever 
leaving your chair. 

In major corporations, for example, 
Carbon Copy lets the support and training 
department personnel see what the problems 
are on the other end. Instantly. And show 
the user how to fix them just as fast. While 
he asks and answers questions, and works 
with the training staff in real time. 

And if you’re at home or on the road? 
No problem. You can use your desktop or 
laptop PC to access your main PC back at 
your office. Or pick up calls and messages 
from any telephone, anywhere, anytime. 

You can use Carbon Copy as a Local 
Area Network link, too. To access the net¬ 
work from a remote PC. Or bridge 
two LANs together. You can 
even copy files back and forth 
between them. 

And talk about easy. Carbon Copy 
is so user-friendly, there are no complex 
or technical terms to learn. All com¬ 
mands are simple, menu-driven options. 


As if all this weren't enough, Carbon Copy 
also features a remote printer capability, which 
even works with different makes of printers. 

A file transer feature with data compres¬ 
sion that’s probably the fastest on the market. 
And the easiest to use. With it, you can even 
do compression on binary data, with blinding 
speed, regardless of your modem’s baud rate. 

And a virtually foolproof password and 
call-back security system. 

So, if you’re looking for the ultimate 
remote possibility for your PCs, call us at 
Meridian Technology. And find out more 
about Carbon Copy. It lets you play your 
software the way you want it to be 
played. In stereo. 


Carbon Copy 
The remote possibility. 

MeridianW/ 7/// 
Technology / ////// 

1101 Dove Street, Suite 120 
Newport Beach, CA 92660 (714) 476-2224 



CIRCLE NO. 188 ON READER SERVICE CARD 


PORTABLE APPROACH 


switching back and forth between the 
two as necessary. In command mode, 
applications tasks do not execute; only 
the application’s interrupt service rou¬ 
tines run normally. The operator can 
inspect or change memory and break¬ 
points while the system is suspended. 

In tasking mode, the application runs 
normally even while TRACER com¬ 
mands are executed. The operator can 
examine the system state while the sys¬ 
tem is in motion; TRACER warns if it 
has captured system state information 
when it may be inconsistent. 

Normal breakpoints cause TRACER 
to switch automatically from tasking 
mode to command mode and remain in 
command mode until the operator 
explicitly resumes multitasking. Break¬ 
points may also be set with a report- 
only attribute; report-only breakpoints 
suspend multitasking just long enough 
to display a message at the TRACER ter¬ 
minal, leaving the system in tasking 
mode. As many as 16 breakpoints may 
be set, and each may be accompanied 
by an iteration count. A breakpoint also 
can be qualified by a task identifier, 
indicating that system execution should 
be interrupted only if a particular task 
encounters the breakpoint; other tasks 
proceed through it normally. 

Given a cooperating user-supplied 
routine, TRACER supports downloading 
of an executable system from a devel¬ 
opment facility via the same channel it 
uses for operator communications. 
TRACER can produce formatted displays 
of system, task, queue, and mailbox 
states and can locate and display all 
mailboxes at which tasks are waiting. It 
also allows inspection of VRTX’s input 
and output buffers. Table 2 is a sum¬ 
mary of TRACER commands. 

DEVELOPMENT ENVIRONMENT 

Although Hunter & Ready provides DEC 
VAX cross-development tools, DOS is 
likely to be the most common develop¬ 
ment environment for PC-based VRTX/ 
86 systems. Support is provided in this 
environment for software development 
in assembly language or in C. 

Developers working in assembly 
language are supplied with include files 
containing external declarations, system 
configuration parameter values, and def¬ 
initions of standard mnemonic names 
for system calls, parameter packet off¬ 
sets, error codes, and so on. They are 
also provided with source and relocata¬ 
ble modules for the components of the 
PC DSP. Embedded in the DSP is a sam¬ 
ple applications system that offers a 
working example and point of depar¬ 
ture for first-time systems builders. 


TABLE 2: TRACER Commands, 


LABEL 

FUNCTION 

DB 

Display breakpoints 

DI 

Display input buffer status 

DL 

Download 

DM 

Display memory 

DO 

Display output buffer status 

DQ 

Display queue status 

DR 

Display registers 

DS 

Display system status 

DT 

Display task status 

DX 

Display mailbox pends 

HE 

Help 

IN 

Input from port 

LI 

List disassembled code 

OU 

Output to port 

RB 

Remove breakpoint 

RX 

Resume execution 

SB 

Set breakpoint 

SM 

Set memory 

SR 

Set registers 

TC 

Switch to command mode 

TT 

Switch to tasking mode 

xs 

Single-step execution 


The TRACER module requires one I/O 
channel for communications with the 
operator but it can be configured to 
share VRTX’s single serial I/O channel. 


Ironically, developers working with 
Hunter & Ready-supplied assembly 
source modules will encounter one of 
the very problems that the company 
took great pains to avoid in packaging 
its basic component modules: develop¬ 
ment tool incompatibility. DSP modules 
do not assemble properly under Micro¬ 
soft’s current (4.0) assembler; they 
require version 2.0. With the older 
assembler, systems can be generated 
successfully under DOS 31. The offici¬ 
ally supported development environ¬ 
ment, however, is DOS 2.1, Microsoft’s 
Macro Assembler (MASM) version 2.0, 
and linker (LINK) version 2.2. 

C language development is sup¬ 
ported using the Lattice C, Computer 
Innovations, or Mark Williams C com¬ 
pilers. C developers using VRTX/86 in 
its standard configuration myst compile 
all modules using the large-memory 
model. The C DSP contains C header 
files and a set of compiler-specific sys¬ 
tem call interface routines for use with 
all VRTX/86 subsystems. 

Whether their target systems are 
RAM- or ROM-based, developers work¬ 
ing in either implementation language 
can link, generate, and test systems 
without committing code to ROM. The 
VRTX/86 alternate-media release pack¬ 


age includes assembly modules contain¬ 
ing hexadecimal machine language for 
VRTX, IOX, FMX, and TRACER, from 
which relocatable modules may be gen¬ 
erated for linking into standard RAM- 
based executable files. 

If a VRTX system under develop¬ 
ment runs well enough to terminate 
and clean up properly, developers can 
generate and run a VRTX system under 
DOS, and then return to DOS without 
having to reboot. 

Documentation for VRTX/86 is im¬ 
peccable. Documents follow the struc¬ 
ture of VRTX software: much of the 
documentation is device-independent, 
describing applications and systems 
programmers’ interfaces at a level appli¬ 
cable to systems running on any 8086 
family hardware set. For each of VRTX/ 
86’s subsystems, a comprehensive docu¬ 
ment gives the theory of the compo¬ 
nent’s operation and a summary of its 
assembly language interfaces. Com¬ 
panion volumes give the corresponding 
C language calling sequences. 

The usefulness of VRTX’s documen¬ 
tation is enhanced by the inclusion of 
highly detailed recommendations for 
sequencing software development and 
integration tasks. These sections give 
the type of information that other ven¬ 
dors of complex software products too 
often leave for the customer to discover 
alone—by hard experience. 

Configuration-specific information 
on the PC DSP is included in a loose- 
leaf-bound support documentation set. 
DSP documentation gives installation 
and system generation instructions and 
details die operation of each device 
driver, including caveats and debugging 
tips peculiar to the XT’s devices. 

The support documentation pack¬ 
age also includes a timing reference 
giving detailed rules for computing the 
time consumed by VRTX system calls, 
context switching, interrupt and I/O 
processing overhead, and other system 
operations. Still another section consists 
of application notes as well as brief ar¬ 
ticles encapsulating developers’ experi¬ 
ences in such areas as “VRTX and Cus¬ 
tom Queues” and “[Constructing] 
Dijkstra Semaphores.” 

A DOMINANT SYSTEM 

Not surprisingly, VRTX has become a 
dominant realtime system in the micro¬ 
processor instrumentation, factory auto¬ 
mation, and process control markets for 
custom hardware systems. It is a mature 
product that affords a level of realtime, 
multitasking function equaling or 
surpassing that found in many mini¬ 
computer realtime systems. 


MAY 1986 


87 











QNX vs UNIX 





What do QNX and UNIX have to do with 
architectural design? 

The design determines the environment in which you 
and your applications must survive. If the shear weight 
of the UNIX operating system brings the PC to its knees, 
all applications running under it will suffer. Unix was 
conceived more than a decade and a half ago and the 
product today is the result of modifications, additions 
and patches by hundreds of programmers. The result is a 
large and convoluted piece of software which needs the 
resources of an AT or more. 

QNX's superb performance and compact size is the result of 
one dedicated design team with a common purpose, and 
complete understanding of both the software and the 
environment in which it must run. It runs quickly and 
efficiently on PCs and soars on an AT. Unlike Unix, QNX is 
capable of real time performance and is the undisputed 
choice for real time process control, and office systems. You 
can buy an OS that offers you a 1 to 3 user dead end on 
an AT, OR, you can consider QNX which allows you 
anywhere from 1 to 10 users on both PC's and AT's. And 
we don't stop there. Unlike other Unix-type systems for 
PC's, QNX is also a networked operating system. Not a 
patch-on network, but a fully integrated networking system 
for up to 255 micros. QNX allows you to start with a 
single machine and grow if and as required. There are no 
dedicated file servers and you can attach terminals (users) 
to any machine. To choose a solution which ignores 
networking, is closing the door on your future. 

Everyone is talking about Unix like systems, but no one 
wants to abandon the tremendous amount of DOS 
software available. QNX does not force you to make that 
decision. You can run either PC DOS 2.1 or 3.1™ as one of 
QNX's many tasks. (DOS File compatibility and DOS 
development tools are also available). Don't misunderstand 
us. We at Quantum have a great deal of respect for Unix. It 
was a major force in moving operating systems out of the 
1960's and into the 70's. QNX however, was designed in 

Moo die Drive HiTech Park 215 Stafford Rd. Ottawa, Ontario, Canada. K2H 9C1 Phone (613) 726-1893 

IBM PC. AT. XT AND PC-OOS ARE REG. TM OF INTERNATIONAL BUSINESS MACHINES CORP. UNIX IS A REG. TM OF AT&T BELL LABS 

CIRCLE NO. 239 ON READER SERVICE CARD 


the 80's and will be a driving force of the 1990's. Over 
20,000 systems have been sold since 1982. 

Quantum strongly believes that there are good reasons for 
buying QNX, DOS and Unix. If you want more than DOS 
and a working alternative to PC Unix, give us a call and we 
will discuss your needs. 

End-Users, VAR's, OEM's and software developers are 
invited to take the QNX challenge. 

• A/IULTI-USER: -10 serial terminals per PC, AT. 

• MULTI-TASKING: -40 tasks per PC, AT. 

• NETWORKING: -255 machines. 

-up to 10,000 tasks and 2000 
users/network. 

-2.5 Megabit token ring. 

• REAL TIME: -2800 task switches/sec (AT). 

• MESSAGE PASSING: -Intertask communication between 

any of 1000's of tasks on any 
machine. 

• MEMORY: -88K to 110K for QNX. 

• PC DOS: -Executes as a task under QNX. 

• C Compiler: -Standard Kernlghan and Ritchie. 

• Flexibility: -Single machine or networked. 

One to thousands of users. Full 
resource sharing of disks and 
devices on all machines. 

• Support: -Online update system allows 

downloading of new releases 
over the phone. 

-Technical support hot line. 

• COST: -From US $450 

-Cali for runtime prices. 

• HARDWARE SUPPORT: -IBM PC. XT AT™ ihnth r M i 











































PORTABLE APPROACH 


VRTX’s design is strong both in its 
breadth and its depth. It is broad in that 
its function not only covers all the basic 
needs of realtime system architects for 
tasking, timing, and interrupt process¬ 
ing, but also meets more advanced 
requirements for memory allocation, 
buffered I/O, and structured file system 
management. VRTX’s design strength is 
deep in that its components permit 
tailoring, either by parameter-setting or 
by user hook routines, at every possible 
level of operation, from disk volume 
creation through the lowest levels of 
task context switching. Its modular, 
device-independent design has been ex¬ 
ecuted well enough to serve as a model 
to anyone who is constructing portable, 
reusable software. 

As a vehicle for constructing PC 
realtime systems, VRTX/86 is attractive 
both because of its quality and because 
the availability of its DSP allows devel¬ 
opers to start one step past the hurdle 
of configuring for the PC’s hardware 
set. Users speak highly of VRTX/86’s 
clean interfaces, sound implementation, 
clear documentation, and Hunter & 
Ready’s cooperative telephone support. 

Everything has its price, of course, 
and VRTX integrators pay the price in 
system performance for VRTX’s gener¬ 
ality. The product’s sophisticated task 
scheduling, indirect, intermodule calls, 
and tests for the presence of user hook 
routines at every juncture consume pro¬ 
cessing time that could be spent on 
applications processing in a leaner, 
narrower supporting environment. 

Hunter & Ready’s price structure 
for VRTX is right at home in the large 
corporation, custom hardware integra¬ 
tion marketplace. It is somewhat alien 
in the PC market, where declining 
royalty arrangements are common but 
software products rarely carry an initial 
“hurdle” price as high as VRTX’s. 

Customers building a VRTX-based 
system must first purchase an R&D 
package for each of the modules they 
will be incorporating. This includes five 
copies of component documentation, a 
single set of support documentation, 
including instructions for building a 
DSP, and a license to make five copies 
of the purchased component. A VRTX 
R&D package sells for $5,275. IOX and 
FMX packages are available for $5,275 
and $2,750, respectively, and TRACER is 
offered for $2,750. Bundled R&D pack¬ 
ages combine components at a reduced 
total price; a VRTX/IOX/FMX bundle, for 
example, can be purchased for $9,975. 

The IBM PC/XT device support 
package is priced at $2,000. Developers 
using PC-based C compilers can pur- 


A MEMORY CARD WITH VRTX 


Resellers have put VRTX to work in 
their products, among them DYAD 
Technology, which offers PC/VRTX, a 
mapping RAM/ROM memory card that 
comes with Hunter & Ready’s VRTX 
ROM module installed. A VRTX device 
support package, configuration utilities 
for VRTX and the card’s memory ar¬ 
rays, and a demonstration multitasking 
program are included. 

In addition to the 8KB VRTX 
Executive ROM array (expandable to 
32KB), the card contains a user ROM 
array that accommodates 128KB of 
ROM or static RAM in four standard, 
28-pin memory devices, and seven 
64KB arrays of dynamic user RAM. 

The card allows software-con- 
trolled memory mapping. The Execu¬ 
tive ROM array can be mapped into 
any available 8KB block in the PC’s 
1MB address space. Each of the seven 
user RAM arrays may be indepen¬ 
dently mapped into any 64KB block. 
User ROM also can be made to appear 
in any block of the address space; its 
size is determined by the type of 
memory devices installed. 

The PC/VRTX card contains two 
special bootstrap memory circuits that 
can be configured to make 64KB of 
user RAM and the same amount of 
user ROM available to the PC’s proces¬ 
sor upon power on/reset. The card 
can be configured in this way to allow 
user ROM-resident code to gain con¬ 
trol during BIOS’s ROM scan or, 
through use of a patched BIOS ROM, 
before or at some other point during 


BIOS/POST (power-on self test) exe¬ 
cution. The card’s bootstrap memory 
capabilities can be used to package 
dedicated, diskless PC systems. 

PC/VRTX’s software device sup¬ 
port package for its on-board VRTX 
module is delivered in two relocatable 
libraries for the Microsoft DOS linker. 
One supports assembly language call¬ 
ing sequences; the second is compat¬ 
ible with the Lattice C (large model) 
subroutine linkage. The package is 
accompanied by a manual describing 
VRTX system calls and DYAD’s PC 
device support package. 

Depending on its configuration, 
this versatile, full-length card can 
serve as anything from an ordinary 
DOS memory expansion card to a 
vehicle for building VRTX-based real¬ 
time systems either with or without at¬ 
tached disk storage. (In addition, users 
can replace the VRTX Executive ROM 
with their own controlling software if 
they so desire.) 

As of this writing, PC/VRTX is 
packaged with release 2.5 of Hunter & 
Ready VRTX, which does not support 
integration with Hunter & Ready’s 
other silicon software components. 

—Richard M. Foard 

PC/VRTX: $1,495 with 64KB dynamic 
RAM; $1,695 with 448KB 
DYAD Technology Corporation 
4040-G Sorrento Valley Blvd. 

San Diego, CA 92121 
619/450-1761 

CIRCLE 354 ON READER SERVICE CARD 


chase C interface libraries for VRTX 
($500), IOX ($750), and FMX ($500) or 
all three together for $1,800. 

Customers past the development 
stage purchase software components 
just as they would quantities of other 
standard semiconductor parts, on a de¬ 
clining price schedule (the purchase of 
an R&D package is a prerequisite to 
volume purchases of VRTX compo¬ 
nents). Copies of VRTX and IOX are 
$200 for quantities of one or $75 each 
in quantities of 100. FMX is $100 for 
one and $35 in quantities of 100. 

As packaged by Hunter & Ready, 
VRTX is almost certainly not the system 
of choice for a developer building a 
one-of-a-kind or even a ten-of-a-kind 
system. In larger-scale product develop¬ 
ment efforts, however, its technical mer¬ 
its quickly outweigh its initial cost. 

VRTX is not, in fact, out of reach 
for integrators who are producing mod¬ 


est numbers of systems. Resellers such 
as DYAD Technology (see the accom¬ 
panying sidebar) are able to make VRTX 
available in small quantities at a much 
lower effective unit price. 

VRTX is a standard-setting product 
of high quality that provides an excel¬ 
lent implementation base to developers 
of microprocessor realtime systems. Its 
availability in a PC-configured package 
will assure it a growing role as the 
application of PCs in realtime settings 
continues to broaden. 

VRTX/86: see text for price schedule 
Hunter & Ready, Inc. 

445 Sherman Avenue 
Palo Alto, CA 94306-0803 
415/326-2950 

CIRCLE 353 ON READER SERVICE CARD 


Richard M. Foard is a software consultant 
who specializes in realtime systems design. 


MAY 1986 











The database usee 

nowbeusec. 


Introducing dBASE III PLUS: 

The PLUS stands for all the improvements 
we’ve made to the world’s number one selling 
database management software. 


Jp 


Create 


Update 


Position 


Database file 


Format 
U iew 
Query 
Report 
Label 


Ret 


The Assistant helps beginning users ammplish day-to-day data 
management tasks without programming. 


Mind you, dBASE III PLUS still has the 
powerful dBASE programming language, dot 
prompt, and all the features that have made 
dBASE III the standard of the industiy 
We’ve simply raised the standard. 

And just as dBASE III introduced more 
power to the people, our new dBASE III PLUS 
introduces more people to the power 
People who aren’t all that crazy about 
programming, for example. 

The Assistant feature in dBASE III PLUS 
now provides them with new easy-to-use 
pull-down menus for creating, using and 
modifying multiple databases. 

So now anyone who can manage a 
simple cursor can manage day-to-day data 
management tasks. Without programming. 
And by using our new Screen Painter, 


anyone can create custom screens. Without 
programming. 

Or using Vie\y access related information 
in several databases at one time. Without 
programming. 

With Advanced Query System, another 
new non-programming feature, any user can 
build complex queries just by selecting from 
the dBASE III PLUS pull-down menus. 

For rapidly creating entire programs, 
there’s even a new Applications Generator. 

And for all those who wish to learn to 
program, the Assistant can be of further 
assistance. By teaching you programming 
commands as you go along. Without disrupting 
your work flow 

These are only a few of the dBASE III PLUS 
features that can help new users quickly get 
up to speed. And experienced users quickly 
increase their speed. (Sorting, for example, 
is up to two times faster and indexing up to 
ten times faster than dBASE III.) 


Display 


Field Name STATE 

Operator hatches 

Constant/Expression "NY" 


Ho combination 
Combine with .AND. 


Combine with .AND..NOT. 
Combine with .OR..HOT. 


Line 

Field 

Operator 

Constant/Expression 

Connect 

1 1 

1 STATE 

hatches 

''NY” 

.OR. 

2 I 

| STATE 

hatches 

"DE" 

) .AND. 

3 1 

[ PROD DESC 

hatches 

"LH Bass Lures" 

| .AND. 

4 

5 

6 

7 

ORDER DATE 

hore than or equal 

11/01/85 

) 


Mfti&Lm'ilHiflifl 


Set Filter 

Select a logical connector for the filter condition. 



Advanced Query System lets you set up and answer complex 
queries mthoutprogramming. 










































And it’s the fastest way to network those 
users, too. Because now, true multi-user capa¬ 
bilities for local area networking are built right in. 

dBASE III PLUS can also help put developers 
in the fast lane. With a new Data Catalog and 
more than 50 new commands and functions. 
Plus code encryption and linking, improved 
debugging aids, assembly language calls and 
much more. 


For the name of the Ashton-Tkte® dealer 
nearest you* call 800-437-4329, Extension 
2830!* 

And get your hands on dBASE III PLUS. 
It’s the software more people can look 
forward to using. 

CIRCLE NO. 135 ON READER SERVICE CARD 
‘Upgrades are available to all dBASE III owners. “In Colorado call (303) 799-4900,. 
Extension 2830. Requires IBM*PC or 100%compatible.'IYademarks/owners: Ashton-Thte, 
dBASE III PLUS/Ashton-Thte; IBM/International Business Machines Corp. 

© Ashton-Thte. All rights reserved. 1986. 


AshtonTate _ 

dBASE III PLUS 



The data management standard. 








COMPANY MISSION 


His company has sent him on a 
mission to expand its IBM PC 
capabilities without bursting 

the DP budget. 




He’s the company PC expert with more years 
experience—and more actual “hands-on” time 
with microcomputers—than any of his col¬ 
leagues. And he (like 75,000 other PC experts) 
reads PC Tech Journal every month. It keeps 
him up to date and well informed. His corporate 
responsibilities demand it. 

The source for advanced PC experts 
He (and 75,000 PC experts like him) read PC Tech 
Journal every month. He uses the information 
in Tech Journal to stay up to date and well-in¬ 
formed. His corporate responsibility demands it. 

So it’s no surprise that PC Tech Journal is his 
favorite IBM PC / compatible magazine. Tech 
Journal articles get to the heart of the matter 
without sidestepping the complex details 
required to thoroughly understand how a task is 
completed. 

Right on target 

He recalls reading two articles in 
that will be of help to him in this 
Chaturvedi’s tutorial on tree 
second on programming for the 
3270-PC by Armen Harian and 
Jeffrey Krantz. Tech Journal 
works for him—that’s what 
keeps him such a loyal reader. 

Power buyers that dig through 
PC Tech Journal year round 
Being the company trouble¬ 
shooter means having the 
answers. And part of the 
answer is knowing what 
ucts are available and 
where to find them. 

Over 60% of PC Tech 
Journal readers, rate 
articles and advertise¬ 
ments “extremely” 

















Wvf 

If 

V Sf?0.^S?- SggJ&C 

<N, v> *s>t« ^JSyS^h <st< 

■*mm*&U 

' m 


nni 


helpful as sources of buying information—more 
helpful than manufacturers’ literature, salesmen 
and dealers, articles and advertisements in general 
magazines... 

So put your products where PC experts look for 
them. Call your PC Tech Journal sales representa¬ 
tive to reach 75,000 power buyers who unearth 
your products as they dig through PC Tech Journal 
every month. 


in 

OURNAL _ 

Unmatched power in your market 


iHm 


If your company recently sent you on a mission, wed like to hear.about it. 

Please write: Mike Federle, PC Tech Journal, One Park Avenue, New York, N.Y. 10016 
































Breaking 

the 32MB Barrier 



E verything has its limits, and DOS 
is no exception. Common wisdom 
(and some IBM documentation) 
holds that DOS is limited to supporting 
hard-disk volumes of 32MB or less and 
that a single physical disk can have, at 
most, one active DOS partition or logi¬ 
cal unit. This is not true in all cases. 

While the 32MB limit may prevail 
when using standard IBM software, 

DOS volumes much larger than 32MB 
may be supported using one or more 
physical disks of any size. 

Winchester disks with capacities 
greater than 32MB have been available 
for a while and recently have dropped 
in price as their use has become more 
popular. These disks have been sup¬ 
ported on PCs by software that allows 
them to appear as multiple logical vol¬ 
umes, each containing up to 32MB. 

This approach has its advantages. 

In network applications, each user has 
read/write access to his own volume, 
apart from other users..Smaller volumes 
offer performance advantages because 
directory and file allocation table 
searches are faster. Damage from run¬ 
away programs or user errors are more 
easily limited with small volumes. 

For some applications, however, 
several smaller volumes may not be 
very useful. Many data management sys- • 
terns, for example, maintain an entire ; if 


No more do hard-disk 
volumes have a 32- 
megabyte limit. Large 
disk storage systems 

break that 
barrier. 










WHEN YOU NEED 
ACCESS TO FULL MEMORY, 
STRUCTURE, 
COMPATIBILITY WITH 
GW- & PC-BASICA, 

OR 

WHEN YOU NEED THE 
POWER AND FLEXIBILITY 
OF C OR PASCAL... 


.. .You need BetterBASIC. 

The BetterBASIC compiler has 
become the standard by which other 
BASICs are evaluated. BetterBASIC is 
completely compatible with GW-BASIC and 
PC-BASICA when running on IBM PC’s and true 
clones. You can load and run your existing BASIC 
programs in BetterBASIC. It uses standard Microsoft 
syntax and gives you more than 150 additional state¬ 
ments such as XREF, DEFINE WINDOW, MAKE MOD¬ 
ULE, and PROCEDURE. In benchmark comparisons, 
BetterBASIC is five times faster than interpreted BA¬ 
SIC. There is optional 8087/80287 math chip support, 
and an optional Runtime System to create stand-alone 


EXE. files. BetterBASIC is not 
copy protected. Technical support is 
provided for all registered users. 

See for yourself why Dick Aarons of PC Magazine 
said “BetterBASIC may be the best of all BASIC pro¬ 
gramming worlds” and selected BetterBASIC as 
“Editor’s Choice” (Oct. 29,1985). 


BetterBASIC 

8087/80287 Math Chip Support 
Runtime System 
Sample Disk with Tutorial 

Ask your dealer 
or call to order: 


$199 

$99 

$250 

$10 


1 - 800 - 225-5800 


BetterBASIC is a registered trademark of Summit Software 
Technology, Inc. IBM PC, XT, AT, and Microsoft are registered 
trademarks of International Business Machines Corp. 

Ttndy is a registered trademark of Tmdy Corp. 



CIRCLE NO. 195 ON READER SERVICE CARD 


Summit Software Technology, Inc? 

106 Access Rd. Norwood, MA 02062 





32MB BARRIER 



The large disk storage systems come in a variety of forms. Shown clockwise from the top (a) Racet PCMS-150, (b) GAW 65MB 
external drive, (c) Tallgrass TG-6180, (d) Emerald Series 4000/1 PS70, (e) Bell B86, (f) Express 72F-1, and (g) Core ATplus. 


database as a single DOS file. If a DOS 
volume is limited to 32MB, then so is 
the largest file, because files cannot 
span multiple volumes. 

Disk systems that provide software 
support for single volumes larger than 
32MB are now available. Seven such 
systems, with usable capacities ranging 
from 55MB to 150MB, are reviewed 
here: B86 72MB internal hard disk, Bell 
Technologies Inc.; Core ATplus 72MB, 
Core International; Series 4000/1 PS70 
59MB external drive with 60MB tape 
backup, Emerald Systems Corporation; 
72F-1 external hard disk, Express Sys¬ 
tems, Inc.; GAW 65MB external drive, 
GAW Systems; Racet PCMS-150 150MB 
external system, Racet Computes, Ltd.; 
and TG-6180 83MB external drive with 
tape backup, Tallgrass Technologies. 
Each system can be configured with 
multiple DOS volumes on a single 
physical drive, and the size of any vol¬ 
ume (except, in a few cases, the first) 
can be as large as available disk space. 

OUTER LIMITS 

DOS is actually a very flexible system, 
designed to support a variety of disk 
sizes and formats. The apparent 32MB 
limit is not a built-in property of DOS, 
but simply the maximum volume size 
possible using the standard disk formats 
supported by IBM. Systems using other 
formats are subject to different limits. 


This flexibility derives from the 
layered architecture of the PC system as 
a whole and of DOS in particular. A 
computer system can be considered as 
a hierarchy of layers, with human users 
at the top and servile hardware at the 
bottom. In between are many layers of 
software and hardware. Each layer takes 
abstractions from above and makes 
them more concrete for the layers 
below. Programs store information in 
files, which DOS organizes into vol¬ 
umes. Each volume has a boot sector, 
file allocation table (FAT), directory, 
and data area, all of which are struc¬ 
tures internal to DOS. DOS uses drivers 
that view volumes as a series of blocks. 
The driver translates logical blocks into 
physical cylinder, head, and sector num¬ 
bers for the BIOS, which in turn trans¬ 
lates these into actual hardware com¬ 
mands to the physical drive mechanism. 

In a well-designed system, the 
interfaces between various layers 
should be simple, with complexity con¬ 
fined inside the layers. For the most 
part, DOS follows this principle. In par¬ 
ticular, the internal structure of directo¬ 
ries and FATs does not need to be 
known outside DOS, either to the user 
programs above or the drivers below. 

DOS uses some shared data struc¬ 
tures to allow its various components to 
adapt to differences in physical and 
logical disk organization. The BIOS pa¬ 


rameter block, or BPB, (see table 1) de¬ 
fines the physical layout of a DOS vol¬ 
ume: sector size, cluster size, number 
of root directory entries, FAT size, and 
total volume size. DOS obtains a copy 
of the BPB for each volume from its 
drivers. The drivers, in turn, generally 
find a copy of the BPB (with some 
physical drive parameters appended) in 
the first sector of the disk volume, al¬ 
though they need not keep it there. 

Most disk drives used in PCs, and 
all drives currently supported by IBM, 
use a physical sector size of 512 bytes. 
Because the BPB has only a 16-bit word 
for the total number of sectors in a log¬ 
ical volume, the limit for IBM format 
volumes seems to be 512 * (2 16 - 1), 
or 33,353,920 bytes. This is the basis 
for the 32MB boundary; it is, in fact, a 
restriction of die volume size to no 
mofe than 65,535, or 2 16 - 1, sectors. 
The BPB, however, also contains an en¬ 
try for the number of bytes per sector. 
Clearly, doubling the sector size 
doubles the volume size if the number 
of sectors stays the same. With maxi¬ 
mum size sectors, volumes could grow 
to be more than 4.2 billion bytes. 

If adjusting one word in a table 
were all that was required, breaking the 
32MB barrier would not be difficult. 
Disk boundaries would not be a con¬ 
cern (until 4.2 gigabytes begins to seem 
small). Obviously there is more to it. 


MAY 1986 


97 


PHOTOGRAPH • CHRISTINE ARMSTRONG/BLAKESLEE-LANE 











WHAT'S A GIGABYTE? 


Suppose you color-in each small square on this page. There are 10,000 squares. 

Good News... 



GIGAfile™ comes with every CORE hard disk in excess of 32MB capacity 
so you don’t have to partition the drive into logical volumes. Unless you want to. 

The DOS limitation of 32MB file size is no longer a barrier with GIGAfile™ and the 
higher capacity mass storage devices from CORE International 

You can have files and/or directories as big as a full gigabyte. 

On files this big you could maintain a nearly unlimited customer-lead file with hundreds of 
thousands of names and addresses for a successful direct mail campaign. Physicians and Attorneys can 
now have detailed patient and client files electronically stored, thus relieving pressure on hard-copy file space. 

Since no single PC hard disk yet can store a Gigabyte, GIGAfile™ makes it possible to have your files 
expand across as many as eight physical storage devices. For example, you can install two CORE 72MB High 
Performance hard disks in an IBM PC-AT or compatible and have one huge 144 MB file resident! Your sys¬ 
tem will see both drives as one device. And the CORE Drives support large files under XENIX™ too. 

And as CORE’S near-future mass-storage development yields even higher capacity devices, you’ll be 
ensuring your capability for future storage growth. The time is rapidly approaching when multi megabyte 
spreadsheets and 100MB, 300MB or even larger databases will be common. 

Some even as big as a Gigabyte. And that’s like 100,000 pages of grids like the one above, each with 
10,000 squares, to give you an idea of just how big a "Gig" really is. One Billion Bytes. 1,000 Megabytes. 
1,000,000,000 characters of information. GIGAfile™. 

So call us now. Learn more about how GIGAfile™ can help you avoid hardware obsolesence, 
take care of today’s storage needs and ensure future capacity. 

Remember, you can only get GIGAfile™ with the 40, 56, and 
72MB high-performance drives from CORE. So why wait? 

You have nothing to lose, and everything to save. Everything. 


CIRCLE NO. 179 ON READER SERVICE CARD 



CORE 


INTERNATIONAL 


7171 North Federal Highway □ Boca Raton, Florida 33431 D 305/997-6055 


e 1986 CORE International Inc. XENIX is a trademark of Microsoft. Inc Crayola® is a registered trademark of Blnney & Smith. Inc GIGAfile is a trademark erf CORE International Inc 







































































































































































































































































































































































































32MB BARRIER 


TABLE 1: BIOS Parameter Block (BPB) 


OFFSET 

SIZE 

DESCRIPTION 

BOOT CODE/OEM ID 


OOH 

3 bytes 

DOS 2.1: 3-byte NEARJMP (E9H,xx,xx) 

DOS 3.x: 2-byte SHORT JMP (EBH,xx) 
followed by NOP (90H) 

03H 

8 bytes 

OEM name/version (e.g., IBM 3.1) 

DOS BIOS PARAMETER BLOCK 

OBH 

WORD 

Sector size (bytes per sector) 

ODH 

BYTE 

Cluster size (sector per cluster, must be a power of 2) 

OEH 

WORD 

Reserved sectors (starting at logical sector 0, usually 1 for 
boot block) 

10H 

BYTE 

Number of FATs, usually 2 

11H 

WORD 

Number of root directory entries (32 bytes each) 

13H 

WORD 

Total number of sectors in the logical disk image (volume) 

15H 

BYTE 

Media descriptor (F8H for nonremovable fixed disks) 

16H 

WORD 

FAT size (number of sectors in one FAT) 

ADDITIONAL INFORMATION FOR IBM STANDARD DRIVER 

18H 

WORD 

Sectors per track 

1AH 

WORD 

Number of heads (surfaces) 

1CH 

WORD 

Number of hidden sectors (from start of disk to logical sec¬ 
tor 0 of this volume) 


The BPB is returned by block device drivers to DOS. IBM’s format utility writes a 
BPB at the beginning of the first sector of each DOS volume. This sector is called 
the boot sector and the offsets given are from the beginning of the boot sector. 


Suppose a user wants to handle a 
single volume between 64MB and 
128MB, so he settles on a sector size of 
2,048 bytes. The maximum sector size 
for most disk controllers is 1,024 bytes. 
Even if the controller could format 
larger sectors, it would not help much. 
The hard-disk boot code in BIOS as¬ 
sumes a physical sector size of 512, and 
larger (or smaller) sectors would fail 
the controller’s CRC check. 

Sticking with 512-byte physical 
sectors seems the convenient solution 
to the problem. What is needed are 
logical sectors made out of four physi¬ 
cal sectors. One answer would be a 
loadable DOS device driver that simply 
says the sectors are 2,048 bytes long 
and transfers four physical sectors for 
each logical sector. This is, in fact, what 
most of the vendors of the reviewed 
storage systems do. Additional problems 
must be solved, however. 

Booting from the large disk is 
desirable, especially if it is the only 
drive installed in the system. One way 
to accomplish this is to put at the be¬ 
ginning of the physical disk a small vol¬ 
ume that can be booted with standard 
DOS, which then loads the special de¬ 
vice driver from the boot volume. This 
is the method used by Tallgrass Tech¬ 
nologies and Core International. 

A somewhat more convenient 
method is to have the entire physical 


disk be a single large volume that can 
be booted, especially if it has batch files 
and programs containing hard-coded 
references to the C: drive. The Bell 
Technologies, Express, and GAW sys¬ 
tems all offer a form of Vfeature Deluxe 
software from Golden Bow Systems, 
which supports a single, large, bootable 
volume. Emerald and Racet Computes 
offer their own proprietary software to 
provide the same function. 

Emerald’s approach is unique in 
that it does not use a loadable driver in 
the usual sense. Instead, Emerald 
replaces the entire set of standard DOS 
drivers, contained in the hidden system 
file IBMBIO.COM, with its own version. 
This is a somewhat daring approach, 
because the DOS-to-internal driver 
interface is not published and is subject 
to change. Tallgrass and the three 
Vfeature-equipped systems all patch 
the IBMBIO.COM file to effect changes. 
For this reason, they require DOS 3.1. 

The business of patching or replac¬ 
ing the standard DOS drivers bears fur¬ 
ther examination. Apparently, it is not 
strictly necessary—neither Racet nor 
Core do it. Golden Bow Systems, 
vendor of the Vfeature Deluxe software, 
explained it simply changes the sector 
size in the IBMBIO.COM initialization 
code and corrects an obscure bug in 
the write logic. The Tallgrass patch 
changes a single instruction in 


IBMBIO.COM from one loading a value 
stored in a variable to one loading an 
immediate constant value. The patches 
seem to be small and manageable. The 
important questions for users are the 
efficacy and reliability of the solution. 

ENVIRONMENTAL ISSUES 

Peaceful coexistence is more than a 
geopolitical strategy of the sixties; it is 
what every PC user has the right to ex¬ 
pect from system components. When¬ 
ever any component moves away from 
the IBM standard, this issue becomes 
critical. Breaking the 32MB barrier in¬ 
volves special considerations. 

For this review, the Bell and Core 
systems were tested on a PC/AT, and the 
remaining products were tested on ei¬ 
ther a standard PC or PC/XT. All are 
also available in AT configurations. The 
Bell B86 comes only in a configuration 
for ATs and is delivered with cables and 
mounting hardware for internal installa¬ 
tion as the first or second drive. The 
Core drive will connect to the XT’s 
fixed-disk controller, and Core offers a 
controller to adapt its product to the PC 
for an additional $493. 

The Tallgrass TG-6180 uses a host 
adapter that can coexist with existing 
hard drives on the XT. Furthermore, the 
Tallgrass software does not affect the 
original XT fixed-disk drive, so it can be 
added to a system full of files with no 
adverse effect on the original volumes. 
(Any system should be fully backed up 
before hardware components are added 
or removed.) 

All systems except for Tallgrass use 
controllers that cannot coexist on the 
same bus with an XT-compatible con¬ 
troller. Some suppliers provide cables 
to allow connecting the original drive 
and the new one to the same control¬ 
ler. Golden Bow’s Vfeature software is 
particularly flexible in accommodating 
various combinations of drives and con¬ 
trollers. This is to be expected, because 
it is sold largely to dealers who package 
it with a variety of systems. GAW Sys¬ 
tems specializes in customized configu¬ 
rations and offers many types of drives, 
controllers, and custom ROM chips to 
make them all operate together. 

Compatibility is much harder to 
predict in software than hardware. Well- 
behaved programs should not make any 
assumptions about sector sizes. Pro¬ 
grams that do direct logical block trans¬ 
fers using DOS interrupts 25H and 26H 
need to know the logical sector size, 
which can be obtained using DOS func¬ 
tion 1CH. IBM’s DOS Technical Refer¬ 
ence calls the sector-size figure 
returned by DOS function call 1CH the 


MAY 1986 


99 











32MB BARRIER 

TABLE 2: Drive Performance 


VENDOR 

BELL 3 

CORE 3 

EMERALD 

EXPRESS 

GAW 

RACET b 

TA1LGRASS 

PHYSICAL DATA 

Sector size 

512 

512 

256 

512 

512 

256 

512 

Sectors/track 

17 

17 

17 

17 

17 

32 

20 

Heads 

10 

9 

7 

11 

7 

8 

9 

Cylinders 

829 

923 

986 

753 

917 

1,699 

912 

LOGICAL DATA 

Sector size 

2,048 

2,048 

1,024 

2,048 

1,024 

2,048 

2,048 

Sectors/cluster 

8 

4 

4 

8 

16 

1 

4 

Bytes/cluster 

16,536 

8,192 

4,096 

16,536 

16,536 

2,048 

8,192 

Total file space 

Sectors 

35,232 

35,419 

58,310 

35,202 

54,560 

60,528 

40,725 

Bytes 

72,155,136 

72,538,112 

59,709,440 

72,093,696 

55,869,440 

123,961,344 

83,404,800 

DISKP TIMINGS (milliseconds) 
Track-track 

4.44 

4.66 

3.78 

12.13 

6.92 

3.40 

5.82 

Average 

12.96 

12.63 

14.99 

(346) c 26.96 

(25) 27.02 

6.64 

14.17 

Random 

20.92 

20.76 

25.54 

(199) 45.25 

(50)45.86 

8.78 

22.02 

BENCHMARKS (milliseconds) 
Sequential read 

Sectors traveled: 1 

25 

11 

19 

30 

27 

27 

11 

8 

91 

99 

63 

146 

181 

115 

93 

16 

_d 

— 

110 

— 

368 

— 

— 

24 

— 

— 

165 

— 

434 

— 

— 

Random read, 1 sector 
% of disk traveled: 10 

29 

30 

45 

59 

56 

41 

56 

33 

47 

38 

52 

84 

81 

48 

67 

50 

45 

56 

70 

93 

88 

49 

73 

90 

62 

71 

95 

135 

122 

65 

93 

Random read, 8 sectors 
% of disk traveled: 10 

93 

382 

80 

176 

146 

124 

140 

33 

107 

126 

96 

198 

170 

132 

151 

50 

118 

143 

115 

206 

176 

132 

157 

90 

126 

157 

129 

250 

203 

151 

176 

a Tested in the AT; all others tested in the XT. 
b Uses 8-inch media; all others use 5 l '4-inch media. 

c The number of errors encountered during each timing is indicated in parentheses. 
d This benchmark does not work correctly for sector sizes over 1,024 due to buffer size limitations. 





DISKP uses direct BIOS access, which does not recognize FAT bad-sector marking; performance figures reflect failed retries on 
bad blocks. Under DOS, bad sectors do not degrade performance. Note that timings for Bell and Core reflect AT installation. 


physical sector size, but in fact it is 
whatever sector size is reported back by 
the driver for the queried volume. 

Once patched for larger logical sector 
sizes, DOS always returns the larger 
patched value for function call 1CH. 
Well-behaved programs that use 1CH 
should function correctly with any of 
the disk systems tested. In practice, 
however, a user will not ordinarily dis¬ 
cover whether or not a program is well- 
behaved by these criteria until it fails. 

During testing, some SuperLok-pro- 
tected programs could not be installed 
for key-disk-free operation on volumes 
with a sector size of 2,048. The pro¬ 
grams could be run from the large vol¬ 
ume using the key disk, but the installa¬ 
tion procedure, which writes hidden 
copy-protection information on the 


hard disk, failed with an error message 
from the install program. One less-than- 
perfect solution for this type of prob¬ 
lem is to install the program files them¬ 
selves on a smaller DOS volume with 
standard 512-byte sectors, but direct 
data files to the large volume. Softguard 
Systems, the manufacturer of SuperLok, 
is working on a solution to this prob¬ 
lem. Among companies using the 
SuperLok form of copy protection are 
the Lotus Development Corporation 
and AshtonTate. 

HIGH PERFORMANCE 

All of the high-capacity drives per¬ 
formed much better than standard XT 
10MB drives. This is primarily due to 
faster seek times. Performance was 
measured with the PC Tech Journal 


benchmarks (“Fixed-Disk Benchmarks,” 
William J. Hunt, November 1984, p. 64), 
modified to accommodate larger sector 
sizes, and with the DISKP program from 
Core, which measures track-to-track and 
average seek times. The results are 
summarized in table 2. 

The specific benchmark results 
may be difficult to correlate with one 
another, because the disk sizes and 
parameters differ considerably from 
unit to unit, and the Core and Bell 
systems were tested on an AT, while the 
others were tested on an XT. 

Most disks have some bad sectors 
that are marked as such in the FAT and 
not used by DOS for file storage. When 
performance tests that do direct disk 
reads of random sectors using INT 25H 
encounter these bad sectors, the result- 


100 


PC TECH JOURNAL 











Especially Turbo Pascal users! 


to Modula-2 with ease 


*1 -a • i 

r ou can cross the bridge 


This is Modula-2 at its absolute best. It’s a fully integrated development 
environment that takes into account what you need as a programmer. Without leaving 
the Editor, you can call the compiler, linker and utilities. 

With Logitech’s Modula-2, you’ll have the ability to edit several files at once, 
comparing, window to window, various code modules. You can even move from 
window to window compiling, linking, debugging and running. 

The compiler has the kind of power and room to breathe that you really need in 
today’s complex applications. It is as easy to use as Turbo Pascal, without your 
programs being limited to 64K of code. 

At your command will be the libraries of modules that make Modula-2 a 
programmer’s dream. It has essentially the same structure as Pascal with the major 
addition of a library organization of code modules that allow you to put together 
programs on a solid, block-by-block, foundation of proven code. 

Whether you’re working with a module of your own making, or one of the many in 
our library, you’ll find the system by which each module is identified, described and 
stored an organizational masterpiece. And that’s at the heart of Modula-2. 

Underneath the sophisticated system is a Modula-2 compiler that is the result of 
years of development and proven use in industry. We run on the Vax*, and we run on 
the IBM PC. And the code is portable-from one to the other. 

Best of all ... you can have it right now! 


To place an order call our special toll free number 

800 - 231-7717 

in California 

800 - 552-8885 


Logitech Modula-2/86 Complete with Editor, 
SCO ^ un Time System, Linker, Cursor-posi- 
*0? tioning debugger, 8087 Software Emula¬ 
tion, BCD module, Logitech’s extended 
library, Utility to generate standard .EXE 
files, Turbo Pascal (and standard Pascal, 
too) to Modula-2 translator (included 
without charge until 8/1/86)> and much, 
much more! 

Logitech Modula-2/86 with 8087 support Even if 
SlOQ^ 011 haven’t y et g ot ten an 8087 co-pro- 
cessor, you can still use this version. 
Logitech Modula-2/86 Plus For machines with 
S1QQ 5I2K or more - Takes advantage of the 
*16^ larger memory to increase compilation 
speed by 50%! Supports 80186 and 80286 
as well as 8086 and 8088. Includes 8087 
and 80287 support, too. 

Window Package Now you can build true win- 
S/l Q dowin g ‘ nt0 y° ur Modula-2/86 code with 
ease, too. Very powerful and very full, yet 
only 15K in size. Features virtual screens, 
color support, overlapping windows and a 
variety of borders. 


Run Time Debugger (source level) Much more 
c/'q powerful than just a symbolic RTD. 
Display source code, data, procedure call 
chain and iaw memory. Set break points, 
assign values to variables, pinpoint and 
identify bugs in your source. The ultimate 
professional’s tool! 

Utilities Package Features a post-mortem de- 
0 bugger for static debugging. If a program 
you’ve written crashes at run time, the 
situation is frozen, and you can pinpoint, 
in source, the cause of the error and the 
data at that moment. Also includes a 
disassembler, a cross reference utility and 
a “version” utility that allows conditional 
compilation. 

Make Utility Automatically selects modules af- 
SOQ f ected b y code changes for quick and 
minimal re-compilation and relinking. 
Even figures out dependencies for you. 
Library Sources Source code for our major library 
SQO modu ^ es now available-for customiza- 
V7 tion or exemplification. 

ROM Package If you need to produce rommable 
code, call our 800 number for further 
information on this package. 


Yes, 


I’d like to take the next 
5 logical step in programming. 

Please send my copy of Logitech Modula-2/86 
to the following address: 

□ VISA □ MasterCard □ Check Enclosed 


Card Number 

Signature 

Expiration Date 

Name 


Address 


City 


State Zip 

Phone( ) 


And include the indicated items: 

□ Window Package $49 

□ Run Time Debugger $69 

(source level) 


Here's the configuration I’d like: 

□ Logitech Modula-2/86 $89 

□ Logitech Modula-2/86 $129 

with 8087 support 

□ Logitech Modula-2/86 Plus $189 □ Utilities Package $49 

Please add $6.50 for shipping □ Make Utility $29 

and handling. □ Library Sources $99 

Total enclosed $_ 

(California residents, please add applicable sales tax) 

H LOGITECH 

LOGITECH, Inc. 

805 Veterans Boulevard 
Redwood City, California 94063 
Telephone (415) 365-9852 

For European pncing, please contact: 

LOGITECH SA 

Box 32, CH-1143 Apples, Switzerland 
Telephone 41 (21) 774545 


Please call our 800 line for: □ Information on our *VAX version □ Site License and University Discounts □ Dealer and Distributor information 


CIRCLE NO. 229 ON READER SERVICE CARD 


*Turbo Pascal is a registered trademark of Borland International 






















Get started in AI 
with Gold Hill. 



You know artificial intelligence is the 
wave of the future. Programs based 
on the ideas of artificial intelligence 
are being written today in Common 
Lisp-the new Lisp standard 
developed by researchers from 
universities and corporations 
such as Carnegie Mellon, DEC, 

MIT, Stanford, Symbolics 
and TI. Lisp allows the devel¬ 
opment of programs that are 
intelligent, flexible, and even 
human like. The problem has 
been that hardware needed to 
run Lisp is expensive. 

No longer. Golden Common 
Lisp (GC Lisp) makes it possible 
for you to learn and use Lisp on 
your personal computer. When you 
use GC Lisp in combination with the 
AI examples provided, you will be 
able to develop such exciting appli¬ 
cations as expert systems, natural 
language systems, and intelligent 
interfaces to complex software. 

The possibilities are endless. With 
GC Lisp you can tackle problems 
that you could not solve before 
with ordinary number crunching 
programs. You will be able to write 
powerful programs that can accom¬ 
modate casual computer users who 
want intelligible answers quickly. 

Learn Quickly with GC Lisp 

GC Lisp makes it easy for you to learn 
the technology of AI at your own 
pace. Each package includes the San 
Marco Lisp Explorer —an interactive 
software tutorial developed by 
Patrick H. Winston and his associ- 
ciates. This 800-frame instructional 


AI language. 


best selling 


system guides you through the 
steps of Lisp programming and 
makes the full range of Lisp’s 
power accessible to both novice 
and experienced programmers. 
The second edition of the classic 
Lisp textbook by Winston and 
Horn is also included. 

GC Lisp comes complete with the 
intelligent GMACS editor (based 
on EMACS), full on-line documen¬ 
tation of all GC Lisp and GMACS 
functions, the Common Lisp Refer¬ 
ence Manualby Steele, and a com¬ 
prehensive user manual. In short, 
Golden Common Lisp comes with 
everything you need to program in 
Lisp. 


NEW! 

The GC Lisp 286 Developer 

Discover programming power you 
never thought possible on your PC 
AT! GC Lisp 286 Developer is a 
complete programming environ¬ 
ment designed for GC Lisp-based 
applications requiring extended 
memory and faster execution. 

The 286 Developer includes 
a Large Memory Interpreter 
capable of addressing 15 mega¬ 
bytes of physical memory, a Large 
Memory Compiler that runs appli¬ 
cations up to 15 times faster, and a 
complete set of program develop¬ 
ment features including lexical 
and dynamic scoping. The 286 
Developer is the first PC-DOS pro¬ 
gramming environment that takes 
full advantage of the speed and 
memory capacity of the IBM PC AT 
and compatibles, and it’s now avail¬ 
able to help you develop powerful 
and productive AI applications. 

Order Today 

For more information on Gold Hill 
products, please call today: 

1-800-242-LISP 

In Massachusetts call collect 
(617) 492-2071 

GC Lisp requires an IBM PC, PC XT, PC 
AT, or IBM-compatible with a minimum 
of 512K and PC-DOS 2.0 or higher. 

GC Lisp 286 Developer is non-copy 
protected, and requires an IBM PC AT or 
compatible with a minimum of 512K of 
base memory, 2 megabytes of extended 
memory, and PC-DOS 3-0 or higher. 

© 1986 Gold Hill Computers 



GOLD HILL COMPUTERS 

163 Harvard Street, Cambridge, Massachusetts 02139 

Golden Common Lisp, GC Lisp, and GC Lisp 286 Developer are trademarks of Gold Hill Computers. The San Marco Lisp Explorer is a trademark 
of San Marco Associates. Lisp is copyrighted by Addison-Wesley Publishing Company, Inc. The Common Lisp Reference Manual is copyrighted by 
Digital Equipment Corporation. IBM PC, PC XT, PC AT, and PC-DOS are trademarks of International Business Machines. 


CIRCLE NO. 122 ON READER SERVICE CARD 







32MB BARRIER 


ing retries by DOS and BIOS cause 
much longer access times to be 
reported. The number of errors en¬ 
countered during each test is shown in 
parentheses in table 2. These errors 
would not occur during normal DOS 
file access; performance of these disks 
in everyday use should be better than 
that shown in the table. 

Hardware installation for all of the 
systems was simple and straightforward, 
whether internally or externally 
mounted. Software installation fell into 
two categories: easy and not required. 
The easy ones (Bell, Core, Emerald, 
Racet, and Tallgrass) had clear and sim- 
ple-to-understand programs and docu¬ 
mentation and worked as expected. 

The GAW and Express units did 
not require software installation be¬ 
cause the disks came preloaded with 
Vfeature Deluxe and DOS 3.1. (The Bell 
system also provides Vfeature, but it 
must be installed by the user.) Preload¬ 
ing DOS seems to be in violation of 
IBM license rules preventing distribu¬ 
tion of copies of DOS, even though 
only the system proper, without any 
utilities, was involved here. This is the 
reason many software packages (espe¬ 
cially copy-protected ones) are shipped 
on disks with empty space reserved for 
the user to install the operating system. 

These manufacturers are obviously 
trying to make the installation as pain¬ 
less as possible for the user. Their 
working disks contained DOS 31 and 
the installed version of the Vfeature 
software configured for the appropriate 
physical drive parameters. Unfortu¬ 
nately, no one included complete infor¬ 
mation on the drive configuration, al¬ 
though Express did include a disk man¬ 
ual that gave the cylinder and head 
parameters for its Fujitsu drive. 

Ordinarily, users would appreciate 
the convenience of quick installation 
and set-up. But if the system needed to 
be set up again from scratch, some in¬ 
formation gaps could cause real frustra¬ 
tion. As a generic document for a vari¬ 
ety of configurations, the Vfeature man¬ 
ual contains a worksheet on which to 
record the number of cylinders, heads, 
and write precompensation and re¬ 
duced write current cylinders. This in¬ 
formation is required for making the 
working diskette and for getting low- 
level formatting to work correctly, but 
none of the vendors supplied it. 

Vfeature users should perform 
their own installation procedure, start¬ 
ing with the creation of the working 
diskette from the master diskette, for 
another very important reason: the soft¬ 
ware checks the type of disk controller 


in use and makes some changes to the 
installed programs depending on the 
type of controller detected. This should 
be done on the same controller to be 
used in the actual system, or at least 
one of the same manufacture. 

When the Express disk (which had 
been preformatted in an AT at the fac¬ 
tory) was installed in a PC, nothing hap¬ 
pened. A low-level format was per¬ 
formed on the Express disk on the 
theory that it might be required due to 
controller differences. After nearly 
seven hours, which included low-level 
formatting, bad block entry, DOS vol¬ 
ume formatting, and software installa¬ 
tion, the system finally booted and re¬ 
ported more than 50MB of bad blocks 
on a 72MB disk. The working diskette, 
which Express so conveniently sup¬ 
plied, had also been created on an AT 
and thus embodied some false 
assumptions. The working disk was 
recreated from the master disk, using 
the clear and adequate instructions sup¬ 
plied in the Vfeature manual. The low- 
level and DOS formatting process had 
to be repeated, although it took only 
about 2 Vz hours the second time. 

THE PRODUCTS 

Vfeature Deluxe, the software written by 
Golden Bow Systems to support vol¬ 
umes larger than 32MB, is used with 
the Bell, Express, and GAW units. It 
supports a variety of disks with any 
number of cylinders and 16 surfaces us¬ 
ing XT- or AT-compatible disk control¬ 
lers (although IBM’s XT controller will 
not support disks with more than eight 
surfaces). Vfeature does not depend on 
the default drive parameters in the con¬ 
troller’s hard-disk BIOS, thus, any physi¬ 
cally compatible drive and controller 
combination can be used. 

Vfeature supports multiple logical 
DOS volumes on a single disk, single 
volumes larger than 32MB using logical 
sectors larger than 512 bytes, and logi¬ 
cal volumes that span two disks. 

The software provides several 
levels of security options. Logical vol¬ 
umes can be password protected from 
all access or just write protected. Provi¬ 
sions for read and write protection of 
diskette drives are included to prevent 
unauthorized export or import of pro¬ 
grams and data. For serious diskette 
security, Golden Bow offers FiXT/S, a 
PROM option for PC and XT machines 
that can disable diskette booting. 

The Vfeature package includes a 
menu-driven configuration program that 
allows low-level hardware formatting, 
drive partitioning, volume and pass¬ 
word assignment, and DOS formatting 



Number One 
In Performance 

Hard Disk 
Intelligent 

VCR Backup 

for AT/XT/PC 

FEATURES 

• High speed microprocessor 
controlled backup ( 68000 ) 

• Two channel interface 

• Built in LAN channel 

• Software control of most VCR 
functions including Fast Forward, 
Rewind, and auto backup using VCR 
timer capabilities 

• Economical VHS or Beta formats 



West: 4704 W. Jennifer. Suite 105, Fresno. CA 93711.209/276-2345 
East: 67 Grandview. Pleasantville. NY 10570, 914/747-1450 
Distributor: Telemarketing Services. Inc. 

1897 Garden Ave.. Eugene. OR 97403. 503/345-7395 

CIRCLE NO. 237 ON READER SERVICE CARD 


MAY 1986 


103 
























Everybody is rushing to install a local area 
network. But the smart buyers are hitching 
their wagons to the LAN that gets results. 

TiaraLink is the price/performance 
leader. 

You need a local area network to share 
your important business data. You must 
have speed...You want performance. 

Independent studies published in PC TECH 
JOURNAL and Mini-Micro Systems]- confirm 
TiaraLink performs significantly faster than 
3Com Etherseries*, Corvus Omninet*, or 
Orchid PCnet*. And comparably to Novell 
NetWare*. So we're fast! 

Now, new enhancements simplify network 
installation. Operating TiaraLink is as easy 
as ever. Unique features including CHAT, 
for network messaging, and IAP** 
simplify accessing of network printer. 

And TiaraLink is no stranger in town. 

Around for three years, we've 
installed over 2,000 networks for 


TiaraLink 7 
Leads 
the LAN 
Rush. 



Our Prices Leave Everybody 
Else in the Dust! 


IBM* PC, XT, AT, and compatibles. 
TiaraLink is the proven LAN. 

TiaraLink is definitely a front runner in 
performance. But what about price? 
Well, most companies charge you a 
large chunk of money for every station 
or file server you need. The TiaraLink 
network card is only $495, and a one 
time purchase price of $500 gives you 
systems software to operate the 
entire network — up to 255 nodes. 
Our prices leave everybody 
else in the dust! 

Don't get trampled in the LAN Rush. 
Investigate the LAN that offers top 
performance at the lowest price: 
TiaraLink. Call us at 1 - 800 - 423 - 1268 . 
In California call 1 - 800 - 325 - 6223 . Or 
write to us for more facts on TiaraLink. 

Dealer and manufacturer 
representative inquiries invited. 


7/mjza 

W COMPUTER SYSTEMS, INC. 


tCopies available upon request. * 'In-Application Printing. 


2685 Marine Way • Mountain View, CA 94043 • (415)965-1700 • TLX 4996251 • FAX (415) 965-2677 

Trademark/Owners: TiaraLink is a registered trademark of Tiara Computer Systems. Inc.; IBM/International Business Machines Corp.; 

Etherseries/3Com Corp; Omninet/Corvus Systems, Inc.; NetWare/Novell. Inc. 


CIRCLE NO. 182 ON READER SERVICE CARD 




32MB BARRIER 

that allows the user to control the allo¬ 
cation unit (cluster) size. 

Users with hard disks larger than 
32MB but without software support for 
large volumes should consider Vfeature 
Deluxe. It is reasonably priced at $120, 
with technical support available by tele¬ 
phone. DOS 3.1 is required. 

B86 (Bell Technologies). Bell Technolo¬ 
gies sells to the UNIX market. Its 72MB 
internal drive is for the AT only and 
comes with two different installation 
manuals and software sets—one for 
XENIX and one for DOS. A pair of ROM 
chips replaces the original IBM set. The 
ROMs, which support XENIX installa¬ 
tions, differ from the IBM version only 
in the drive parameter table for drive 
types 7 and 8. DOS users do not need 
to install them, because Vfeature over¬ 
rides the built-in drive parameters. 

Bell provides very good installation 
and set-up documentation, with check¬ 
lists throughout. It is complete without 
being massive. One very nice touch is a 
one-page “Read this if You Hate to Read 
Manuals” instruction sheet. Unfortu¬ 
nately, if the drive is unformatted (and 
Bell now ships mostly unformatted 
drives) the long-form installation is nec¬ 
essary, starting with a low-level format 
that takes 30 minutes for a 72MB drive. 
Bell uses a Toshiba drive. 

Core ATplus (Core International). The 
Core 72MB system is intended for use 
with the AT and comes with a pair of 
ROMs that are installed in the two 
empty sockets in the AT system board. 
Older ATs may have all four ROM sock¬ 
ets occupied; for these systems, Core 
will exchange the old set for a new 
two-chip set of official IBM AT ROMs. 
(Core is an authorized IBM dealer.) 

Installation instructions are brief, 
but adequate. One possibly confusing 
error involves a description of the sig¬ 
nal cable from the hard-disk unit: the 
installation instructions describe the 
orientation of the signal cable attach¬ 
ment to the AT disk controller board in 
terms of an arrow on the connector and 
a blue wire; in fact, the connector has 
no arrow and the wire is red, not blue. 

ATplus’s Control Data Corporation 
drive is very fast and seems especially 
rugged. These are evidently the major 
advantages for which the Core unit’s 
premium price is paid. Its disadvantage, 
as with other add-in internal drives for 
the AT, is that it leaves room for only a 
single flexible disk drive. The AT drive 
C: can be replaced with the Core unit 
to avoid this problem. 

Series 4000/1 PS70 (Emerald Systems). The 
Emerald Series 4000 model PS70 pro¬ 
vides 59.7MB of disk storage and a 


60MB tape backup unit in a chassis the 
size and shape of the PC system unit. 
The chassis has five slots, one of which 
is occupied by the disk controller and 
another by the tape controller. The 
remaining three slots can be used for 
standard PC adapter and expansion 
cards; this is an especially nice feature 
for users with crowded systems. The 
Emerald system uses a Vertex drive and 
provides its own software. 

The Emerald software installation is 
smooth and can be finished in about 
five minutes. Low-level formatting is not 
required. The menu-driven procedure 
directs the user to select the DOS vol¬ 
ume sizes, then to insert a DOS system 
disk. The volume directory and FAT are 
initialized, then the system is copied 
onto the hard disk, together with 
the Emerald BIOS in place of the 
IBMBIO.COM. A different Emerald BIOS 
exists for each version of DOS (2.0, 2.1, 
3.0, and 3.1); the installation software 
automatically installs the correct one. 

Emerald’s software provides several 
additional features. A sector caching 
function allows the user to set aside a 
portion of the PC’s main memory to re¬ 
tain the contents of the most recently 
accessed disk blocks. On next access, 
the system looks first in the cache be¬ 
fore retrieving the blocks again from 
the physical disk. This can significantly 
improve system performance in many 
situations where a group of sectors is 
repeatedly read. The difference was 
most apparent when switching between 
a word processor and a calculator pro¬ 
gram. A password-protection feature is 
also provided, which prevents the sys¬ 
tem from booting from the hard disk if 
the correct password is not supplied. 

Another nice feature of the Emer¬ 
ald system is automatic bad track 
remapping. The last six cylinders of 
each disk surface, comprising a total of 
42 tracks overall, are reserved to be 
used in place of tracks with manufactur¬ 
ing defects. The Emerald BIOS driver 
performs the remapping on a whole 
track basis. The result is that CHKDSK 
never reports any bad blocks until all 
42 substitute tracks have been ex¬ 
hausted. Low-level formatting and sur¬ 
face analysis utilities are also provided. 
72F-1 72MB kit (Express Systems). Confus¬ 
ing and irrelevant documentation sup¬ 
plied in addition to the Vfeature manual 
made installation of the Express Sys¬ 
tems 72MB kit more of a trial-and-error 
process than it should have been. 
(Express said it has made a few changes 
to Vfeature and calls it by a different 
name, Coalesce.) Several of the instruc¬ 
tion sheets referred to programs not 



X 


Number One 
fn Performance 



IBM/AT/XT/PC- 8mz 


No Wait States 

FEATURES 

• 64K-256K RAM 

• 2K-8K EPROM/Static Ram 

• 2 Serial Ports 

Async/Sync/Bisync Communications 

• Real Time Clock 

• Memory-mapped Dual-port BUS 

• On-board/Remote Reset NMI capability 
•Up To 32 Boards Per AT/XT/PC 

• Can Operate As Standalone Processor 

• Less Than Full Size Board 
(will fit other compatables.) 

SOFTWARE 

• ZP/Mtm CP/M Emulation Software 
(Supports Most CP/M Software) 

• Multiuser Capability if Used As A 
Slave Processor 

iHM is .< legisirieil tiadeinaik oi inlet ttwlioiMl Business m.h times 
CPM 80is.i legistP'wt tr.KleiiMik otOigiMtResenichCotp 



West: 4704 W. Jennifer. Suite 105. Fresno. CA 93711.209/276-2345 
East: 67 Grandview. Pleasantville. NY 10570.914/747-1450 
Distributor: Telemarketing Services, Inc. 

1897 Garden Ave.. Eugene. OR 97403. 503/345-7395 

CIRCLE NO. 236 ON READER SERVICE CARD 


MAY 1986 


105 










C Programmers! 
May PforCe Be With You. 


Writing in C? Half your job could be done already. With 
PforCe!“ The first library of object-oriented C functions 
and subsystems. Written in C. Fully integrated, opti¬ 
mized, debugged, and ready to go. 

High level functions that let you manipulate objects 
like windows. Fields. Screens. Menus. Change an 
object’s characteristics globally. Or tailor them to a 
specific application. So you can write code faster. And 
more economically. 

Low level functions to give you complete hardware 
control. Defaults you can change at will. Plus, more 
sophisticated subsystems to handle complex tasks. A 
database system with demand paging and B-trees to 
store, access and index data. And, since PforCe includes 
source code, you can modify anything in the library. 

But that’s not all. PforCe is more than a 
program-generation toolbox. It’s designed to 
make things easy to find and use. Alphabeti¬ 
cally. By functional group. Or, while you’re 
editing through a pop-up utility. And PforCe 
comes with an easy to follow tutorial to help 
you become more productive quickly. 

PforCe is available for Microsoftf Latticef 
CI86™ and Wizard™ compilers. All memory 



models of each compiler are supported. You can use 
PforCe with any supported compiler by re-compiling 
the source code, but we provide a precompiled 
version for the compiler that you specify at order time. 
$475 complete. 

Special Introductory Offer. 

You would have to spend $700-$800 on several 
libraries to get the range of functionality provided by 
PforCe. But we want you to be convinced. 

Order before June 15,1986 and save an additional $80 
on the regular price of $475. Special offer $395. 

Send for your PforCe information kit today. Call or 
write: 

Phoenix Computer Products Corporation 
320 Norwood Park South 

Norwood, MA 02062 
(800) 344-7200. 

In Massachusetts (617) 762-5030 
Programmers’ Pfantasies '“ 


Programmers’ Pfantasies and PforCe is a trademark of Phoenix Computer Products Corporation. Microsoft is a registered trademark of Microsoft Corporation. Lattice is a registered trademark 

of Lattice, Inc. CI86 is a trademark of Computer Innovations. Wizard is a trademark of Wizard System Software. 


CIRCLE NO. 153 ON READER SERVICE CARD 




32MB BARRIER 


intended to be part of the product. The 
typeset installation and operation man¬ 
ual is nothing more than the Vfeature 
manual with all references to Vfeature 
Deluxe inexplicably changed to Max 
Disk; however, the software diskettes 
themselves are still labeled Vfeature. 

Adding to the confusion, the 
Express software displayed a menu 
titled Orion Computer Products, be¬ 
cause the Express Systems disk product 
is manufactured by Orion under a pri¬ 
vate-label agreement. 

The Fujitsu drive included with the 
Express unit had 48 defects, within the 
Fujitsu specifications for an acceptable 
drive, but far more than any other 
72MB drive tested. When the low-level 
format program requested the bad 
block entries, it took them one at a 
time and spent longer and longer pro¬ 
cessing each one, starting at 16 seconds 
and ending at more than 3 minutes per 
entry. The total time spent at this pro¬ 
cess was an unpleasant 90 minutes. 

Specifying write precomp was nec¬ 
essary, although the software never re¬ 
quested this information, and Express 
did not supply it with the system. The 
correct information was immediately 
available from telephone support. 

Once the installation was complete, 
the Fujitsu drive worked as advertised. 
Fujitsu has an excellent reputation as a 
disk drive manufacturer. Express was 
the only vendor to supply the drive 
manufacturer s technical documentation. 
GAW 65MB external drive (GAW Systems). 

The GAW unit is a compact external 
chassis for the XT, measuring 5-by-6-by- 
12Vz inches and incorporating room for 
three half-height 5 v 4-inch form factor 
storage devices. The full-height Maxtor 
drive occupies two positions, leaving a 
vacant position for a backup tape drive 
or additional hard disk. The Xebec con¬ 
troller is cabled for two disks, and the 
power supply has adequate additional 
capacity for any half-height drive. 

The only documentation supplied 
with the unit is the Vfeature manual, 
but the disk is preloaded and ready to 
run. No low-level formatting is neces¬ 
sary. GAW Systems claims that it has 
experience with many drive and con¬ 
troller combinations and offers custom 
configurations, cabling, and controller 
board BIOS ROMs. 

This particular configuration is be¬ 
ing phased out in favor of a 72MB unit 
in an identical cabinet for $2,895. 

Racet PCMS-150 (Racet Computes Ltd.). 
Racet’s systems are unique in several 
respects—most obviously size and ca¬ 
pacity. The disks are housed in a large, 
wheeled, freestanding metal cabinet 


measuring 28 by 11 by 28 inches; the 
whole assembly weighs in excess of 80 
pounds and requires two people for 
unpacking. Racet supplies disk systems 
ranging from 150MB to 411MB per disk 
in the same size cabinet and even offers 
a fault-tolerant version, with redundant 
power supplies and dual disks, plus 
software that automatically duplicates 
data written to one volume on another 
of the same size. Each system is avail¬ 
able with a 150MB tape backup that 
uses a 24-track, serpentine self-thread¬ 
ing spool. This is a high-reliability, 
industrial-strength mass storage system. 

The system tested was the PCMS- 
150, with a total formatted capacity of 
162MB. The unit included the streaming 
tape drive with a formatted capacity of 
150MB and an eight-inch Pertec drive 
and proprietary controller. 

The Racet software allows many 
more volumes to be defined on the 
disk than are active. Volumes are acti¬ 
vated by attaching them to a particular 
drive letter. This can be done dynami¬ 
cally while the system is running. Racet 
also supports reconfiguring of parti¬ 
tions, by splitting one or joining two ad¬ 
jacent ones, without affecting other par¬ 
titions on the disk. All data in the af¬ 
fected partitions, however, are lost. 

Racet has been in the hard-disk 
add-on business since 1977 (it started 
out providing disks and supporting soft¬ 
ware for Radio Shack computers), and 
its experience shows. The installation 
and user documentation is extremely 
thorough and professional. Racet has 
particular experience in providing large 
disk systems for use as network hie 
servers, and its software and documen¬ 
tation provide many specific features 
and hints for network installation. 
TG-6180 (Tallgrass Technologies). The TG- 
6180 is an external unit with an integral 
60MB cartridge tape backup. The chas¬ 
sis measures 5^-by-10-by-17 inches. The 
installation manual is detailed, well- 
organized, and includes an index. The 
step-by-step software operating instruc¬ 
tions are clear, although the screen 
examples in the documentation some¬ 
times vary from the actual screens 
displayed by the software. 

The Tallgrass configuration re¬ 
quires a small volume with IBM stan¬ 
dard 512-byte sectors for booting. The 
remaining 83MB can be a single, large 
volume or can be divided into as many 
as 15 smaller volumes. Large-volume 
support is provided via a program 
called TGPSEC, instructions for which 
are contained in hies on the software 
release diskette. These disk-based in¬ 
structions are the only mention of 



\ 


\ 

Number One 
in Performance 

68010/68000 

Coprocessor for 

IBM/AT/XT/PC- 

8/10/12.5mz No Wait States 

s 1295°°aty. i 

FEATURES 

•1-2 MB RAM (1MB Standard) 

• 16K-64K EPROM 
•2-8 Serial Ports 

Async/Sync/Bisync Communications 

• Battery-backed Real Time Clock 

• Battery-backed 2K-8K RAM 

• 2 Parallel Ports 

• 68881 Math Coprocessor 

• Memory-mapped Dual-port BUS 

• 3-9 Users Per Board (3 Standard) 

•Up To 16 Boards Per AT/XT/PC 

• Can Operate As Standalone Processor 

SOFTWARE 

• 0S9 (Powerful UNIX-like Multi-user OS) 

• CPM/68K 

• Software selectable OS including concurrent 
PC DOS/OS-9 or CPM/68K operation 

• Support Module for IBM Graphics 

• High-speed Local/Global Disk Caching 

• Basic. Pascal, Fortran, C, and COBOL 

iBM is a r entered trademark ol international Business Mactnnes 

0S-9is a registered trademark olM<ro»are Systems Coro tCPM/GX .s a registered trademark ol OgiUi ResearcnCo>o 
MKMOOO' MKMOtOare rosier ed trademarks ol ktolorora UNIX is a registered trademark ot *T»t 



West: 4704 W. Jennifer. Suite 105. Fresno. CA 93711.209/276-2345 
East: 67 Grandview. Pleasantville. NY 10570. 914/747-1450 
Distributor: Telemarketing Services. Inc. 

1897 Garden Ave.. Eugene. OR 97403, 503/345-7395 

CIRCLE NO. 238 ON READER SERVICE CARD 


MAY 1986 


107 








c 

DYNAMO 

FREE! 

PCUNIX™ 

(WITH ANY PURCHASE OF $250 OR MORE. 

LIMITED TIME OFFER) 

LIBRARY: 325 fully tested functions 
screen handling/graphic, cursor/ 
keyboard/data entry string handling, 
status and control, utility/DOS/BIOS/ 
time/date, printer control, 4 disks 

$129.95 

WINDOWS: The most powerful 
windowing package available, 
overlays, borders, pop-up menus/ 
help windows, zap instantly on/off 
screen, status lines, horizontal/ 
vertical scrolling, color control/ 
highlighting, word-wrap, files to 
windows, keyboard to windows 
3 disks $129.95 

SUPERFONTS FOR C: Dramatic, 
high impact screens. Use our 
character & image libraries and 
functions, or create your own. 

Font & Function Library $49.95 

B-TREE LIBRARY: Fast indexing 
B-tree. 16 million each: keys and 
records, unlimited keys per file, 
variable length records. PC-DOS, 
UNIX, XENIX, CP/M. $79.95 

ISAM DRIVER: $49.95 

COMPATIBILITY: PC/XT/AT; Full 
K&Ft, Cl-C86/De Smet/ Lattice/ 
Microsoft 3.0/Aztec/others. 

VALUE: All source code, No royalties. 
Best documentation available. 

No matter what else 
you have, you need these. 

C-TERP: Simply the best C 
interpreter available. See C Journal 
Summer 1985 

C-TEPP (specify compiler) $299.95 ■ 

PCUNIX: Multi-tasking, networking 
multi-user. With source code $99.95 
m Wendin Software 

COMBINE AND SAVE! 

C LIBRARY plus C WINDOWS 


BOTH for only .$179.95 

+ SUPERFONTS FOR C .$199.95 
+ B-TREE and ISAM _$299.95 

(A $440 VALUE) 

C LIBRARY plus C WINDOWS 
+ SUPERFONTS 

+ C-TERP (a $610 value) .... $459.95 
All (a$740value) .$549.95 


Cntelekon 


12118 Kimberley, Houston, TX 77024 
713-468-4412 

VISA MASTERCARD CHECK COD 


32MB BARRIER 

large-volume support; nothing is said in 
the hard-copy manual. TGPSEC is to be 
run after creating the disk partitions 
and logical volumes and before format¬ 
ting the volumes. 

DIFFERENCES WORTH NOTING 

While all of these systems break the 
32MB barrier, they fall naturally into 
distinct groups, with price, capacity, and 
features fairly well correlated. 

The Racet system, at $16,500, is in a 
class by itself, by virtue of physical size, 
total capacity (up to 822MB), and the 
provision for automatic redundant 
volumes for critical data. This system is 
appropriate for large network and data¬ 
base applications and where expansion 
capability and fault tolerance are more 
important than price per megabyte. 

In the $7,500 bracket, the Tallgrass 
and Emerald systems offer external cab¬ 
inets with disks and integrated 60MB 
tape backup units. Emerald’s disk is 
smaller, but noticeably faster, and the 
cabinet doubles as an expansion unit 
for additional adapter cards. 

The Bell, Core, and Express sys¬ 
tems, ranging in price from $1,800 to 
$4,600, are all 72MB internally mounted 
drives, ideal for desktop XTs or ATs. 
Core claims extraordinary ruggedness 
and reliability for its drives, which are 


The vendors listed below each offer a 
variety> of models, configurations, and 
capacities. The pricing given here is for 
the specific product reviewed. 

Vfeature Deluxe: $120 
Golden Bow Systems 
P.O. Box 3039 
San Diego, CA 92103 
619/298-9349 

CIRCLE 345 ON READER SERVICE CARD 

B86 internal hard disk: $1,995 
Bell Technologies Inc. 

44846 Osgood Road 
Fremont, CA 94539 
415/659-9097 

CIRCLE 346 ON READER SERVICE CARD 

Core ATplus: $4,595 
Core International 
7171 North Federal Highway 
Boca Raton, FL 33431 
305/997-6044 

CIRCLE 347 ON READER SERVICE CARD 

Emerald Series 4000/1 PS70: $7,510 
Emerald Systems Corporation 
4757 Morena Blvd. 

San Diego, CA 92117 
619/270-1994 

CIRCLE 348 ON READER SERVICE CARD 


specially adapted by Core; they also 
command a premium price. The lower- 
priced Express disk has the most bad 
sectors and slowest performance of all 
the units tested. 

The 55MB formatted GAW drive is 
the smallest of the drives tested. Its ex¬ 
ternal cabinet has room for another 
half-height device, and it may be- 
favored by users owning PCs with small 
power supplies. Sadly, the unit tested is 
being discontinued due to an unreliable 
supply of the drive mechanism. GAW 
now offers a similar external subsystem 
with 72MB capacity for $2,895. Given 
that the price includes an external cabi¬ 
net and power supply, the GAW units 
are quite competitive with the internal 
systems from Bell and Express. 

Future versions of DOS undoubt¬ 
edly will support disks much larger 
than these; until then, these systems 
offer working solutions for users who 
need large DOS volumes now. As the 
architects of DOS have learned, saying 
never is unwise when considering how 
soon an arbitrary system limitation will 
become intolerable. Whenever a barrier 
comes up against a legitimate user 
need, the barrier will always fall. 


Thomas V. Hoffmann is director of advanced 
systems development for General Instrument. 


Express 72F-1 external 
hard-disk system: $1,795 
Express Systems, Inc. 

1254 v 2 Remington Road 
Schaumburg, IL 60195 
800/341-7549, ext. 3000; 
312/882-7733 

CIRCLE 349 ON READER SERVICE CARD 

GAW 65MB external drive: $2,695 
GAW Systems 

6160 Lusk Blvd., Suite C205 
San Diego, CA 92121 
619/457-2245 

CIRCLE 350 ON READER SERVICE CARD 

Racet PCMS-150 external 
system: $16,500 
Racet Computes, Ltd. 

1855 W. Katella, Suite 255 
Orange, CA 92667 
714/997-4950 

CIRCLE 351 ON READER SERVICE CARD 

TG-6180 83MB external drive with 
tape backup: $7,495 
Tallgrass Technologies 
11100 W. 82nd Street 
Overland Park, KS 66214 
800/228-DISK; 

913/492-6002 

CIRCLE 352 ON READER SERVICE CARD 


CIRCLE NO. 158 ON READER SERVICE CARD 
108 


PC TECH JOURNAL 















More Answers from CXI. 


# 12 . 


Howto get 
mainframe data to 
your remote PCs. 


PCOX 3270remote 
connections. 

Now if your PCs are located out of town, 
they needn’t be out of touch. 

Because not only does CXI have more 
remote micro-to-mainframe connections to 
choose from; we have more cost-effective 
ones as well. 

For example, all our remote products 
connect via modems. And emulate IBM® 
3274 cluster controllers, 3278/79 terminals, 
3287 printers and 3270 PCs. 

So you can forgo the cost of that 
equipment when you link 
up with ours. 

Tkke our PCOX/STANDARD 
REMOTE™connection, for one. 

It gives you direct mainframe 
access from a remote PC. 

Or choose PCOX/PLUS 
REMOTE™ It can access one host 
session, one PC session and two 
electronic notepads—concur¬ 
rently And makes file transfer 
quick and easy. 


Or, for multi-session performance, 
there’s our PCOX/3270 PC REMOTE™ It lets 
you work with up to five host sessions, 
two notepads and a PC session. 

What’s more, just by adding new software, 
you can add new features like our remote 
gateway for LANs. 

So for the name of your nearest CXI 
distributor, call (800) 225-PCOX. In Cali¬ 
fornia, call (415) 424-0700. r Iblex: 821945. 

Or send us the coupon. And let us turn 
these remote possibilities into 
reality. 


?ot a Vco; 

cotta' ' 




sssss***** 



^ ct °aTvsw eYS ‘ 




®or 


-nAate 


uaden< 


iaw esa1 




pl , a dera«' sso! &. GXl ' U ' 


CTJ 6 ' 86 



CIRCLE NO. 217 ON READER SERVICE CARD 



PC BRAND! CAREFULLY CHOSEN 
TOOLS FOR PROGRAMMERS, 


LIBRARIES: to Speed Programming 


Y ou cannot go wrong buying any or 
all of these compendious compi¬ 
lations. So cost effective that use of just a 
few will save a bundle compared to writing 
your own. 

LATTICE C-FOOD 
SMORGASBORD 

Decimal Arithmetic: Trigonometric, 
logarithmic functions, powers, conver¬ 
sion to strings, BCD operations for 
numbers up to 16 significant digits. 

Level 0 I/O Functions: Direct opera¬ 
tions for screen, keyboard, printer, and 
asynch port to minimize memory usage 
and maximize speed. 

IBM PC BIOS Interface Access: Gets 
basic I/O services in ROM BIOS not 
available from the operating system to 
get and set keyboard modes, printer 
port status, video attributes and cursor 
positioning. 

Terminal Independence Package for 
transport to other types of terminals. 

Product Code: S0200 PC Brand: 
List Price: *150.00 *109.00 

GREENLEAF 

FUNCTIONS 

New 3.0 has 225 functions in both C and 
assembler source as well as library format. 
We have versions for Lattice, Microsoft, 
C86, Mark Wms. New emphasis on tighter 
functional groupings to mini¬ 
mize excess baggage of functions loaded 
whether used or not. Manual’s 250 pages 
now help select functions, as do demos 
and bulletin board. 

32 DOS extensions: file and directory 
manipulation for DOS 1.1 and 2.0. 

23 Screen Functions: Select mode, page, 


monochrome or color, palette; cursor 
shape, positioning; clearing and scrolling; 
pixel get and put; read light pen. 

60 String Functions: Manipulation of 
strings including center and justify; 
efficient list operations which add, delete, 
and sort pointers to strings for top speed. 

50 Graphics Functions: Primitives to 
access all graphics; typeface, formatting, 
and forms control. 

Plus keyboard status and function key 
assignment, time and date algorithms 
.. .we could go on! 

Product Code: S0770 PC Brand: 

List Price: *185.00 *139.00 

GREENLEAF 

COMMUNICATIONS 

Want your application to communicate 
with other users or remote date bases? 
Now you can build asynchronous com¬ 
munications right into your C programs! 

Over 60 functions and demo programs in 
both C and assembler source code set up 
an interrupt driven scheme with separate 
transmit and receive ring buffers for an 
arbitrary number of ports. Interrupt control 
means you can download a record, then 
halt the incoming stream to file it, display it, 
let the user tamper with it, send it back up 
line. Goodbye separate communications 
software. 

Supports ASCII or binary, any parity, any 
word length, 8250 UARTs, all four Lattice C 
memory models, Hayes 300, 1200, 1200B 
and other modems. 

Its 80-page manual has examples of each 
function and guides you through asyn¬ 
chronous communications. 

Product Cede: S0750 PC Brand: 

List Pnce: *185.00 *139.00 


BTRIEVE VERNON 4.0'. 

Queen-B File Manager Abdicates Royalties 


T his queen of b-tree file managers was 
unapproachable to programmers for 
whom royalties would ruin profit margins. 

PLINK86 & PLUS 

Dynamic Cache Overlays 
Maximize Memory Use 

P link86™ long the overlord of overlay 
linkers, now has a Plus version. As a 
linker Plink can be used with any com¬ 
piled language which delivers Microsoft/ 
Intel format object files. It yields automatic 
symbol tables and more memory maps 
than DOS LINK, but its overlay power has 
won its reputation as a miracle worker. 
Plink86 shoe-horns large programs into 
small memory by binding into your com¬ 
piled program an overlay manager which 
knows how to swap modules of large 
linked programs between disk and shared 
memory space. Plink86’s straightforward 
overlay description language allows you to 
describe your overlay hierarchy in a 
structure permitting up to 4.095 overlays 
stacked 32 deep. 

So if your program needs large chunks 
of memory, you no longer forego sales to 
folks who have less. But if you’ve assumed 
128k, and they have 640k, Plink86-Plus™ 
knows to use extra memory as cache for 
overlays — at full speed compared to disk 
swapping. It also can automatically restore 
a displaced overlay to which a subse¬ 
quently called overlay must return, and 
assign library modules to either a 
program’s root segment or overlay areas. 

Plink, the programmer’s choice even 
when CP/M™ was the poobah of 


computing. 

List 

PC 

Code: 

Product: 

Price: 

Brand: 

S0500 

Plink86 

*395 

*289 

S0499 

Plink86-Plus 

*495 

*359 


So it’s quite a ukase indeed that one need 
no longer pay a tithe to incorporate 
Btrieve™ in applications. 

Now there is version 4.0, which hugely 
speeds DOS interaction, especially for 
large files with multiple keys. It also adds 
support for variable length records of vir¬ 
tually any length. Other new features: a 
read after write option to verify accuracy, 
useful in gritty environments like manufac¬ 
turing floors; file password to deny unau¬ 
thorized access or read only; and data 
encryption to assure network privacy. 

Btrieve's foundation is a balanced-tree 
indexing scheme, conceded to be the fast¬ 
est search technique devised (it will find 
any key in a million-plus item index in four 
or less accesses). Btrieve takes complete 
charge of all file creation, indexing, read¬ 
ing, writing, insertion, deletion, space 
recapture, and forward and backward 
searching based on full or partial keys. It 
builds commands right into the language 
you use in the form of functions you call to 
tell Btrieve what to do. 

Btrieve has mainframe specifications! A 
single file may have up to 24 indexes. Seg¬ 
ments of keys may be indexed. Each 
index can independently accept or block 
duplicate keys. Fixed record lengths can 
be up to 4090 characters; variable length 
records 64k; indexes 255 characters; files 
up to 4 billion bytes. It can even extend a 
file across two drives—even two hard 
disks! 

Interfaces to C, Pascal, BASIC, and 
COBOL with single purchase; sample pro¬ 
grams in all four languages. 

The network version works with any net¬ 
work that supports the MS-DOS 3.1 file 
sharing function. 

List PC 

Ask for: Price: Brand: 

S0650 *245 s 199 

S0652 Network Version *595 *529 


C-SPRITE 

Lattice’s Debugger 
for Lattice C 

W e once called it a symbolic debug¬ 
ger, but Lattice® advances now 
bring your source code on screen for 
your viewing pleasure. Hand this 
versatile companion to your compiler a 
.COM or .EXE file and C-Spnte™’s 
source mode will display your original 
program statements during most 
operations — your function names, your 
variable names, your data types, and the 
line numbers from your source code. At 
any breakpoint you can disassemble the 
object code and see source and 
assembler intermingled on screen. 

If inclined, you can as well view ma¬ 
chine addresses and machine-coded in¬ 
structions to scrutinize what the compiler 
(or an assembler) contrived. You can 
work with data in hex, of course, or spe¬ 
cify C’s data types to cause the debug¬ 
ger to display memory addresses as 
strings, long integers, etc., even pointers. 

C-Sprite can set breakpoints using 
symbols or addresses. You can submit 
clusters of commands to be executed at 
the breakpoints, or set commands that 
execute until a condition is met. New 
features permit redirection of STDIN 
and STDOUT, display and alteration of 
8087 status, the setting of pointer sizes, 
and a symbol table exceeding 64k. 

C-Sprite even has macros. Use your 
source code variable names in a macro 
to dump the contents of entire C 
structures, for example. And you can 
debug through one of the COM ports 
with a second terminal so as not to 
disturb your program’s display screen. 
What's more, if you link with Plink86, C- 
Sprite can even tackle overlays. 

Product Code: L2300 PC Brand: 

List Price: $175.00 *149.00 


BASIC_C 

Use Your Knowledge of 
BASIC to Learn C 

I f you're getting the message that 
switching from BASIC to C 
would be prudent, you’re about to discover 
that it’s back to basics of a different sort. 
BASIC is fat with hidden functions that 
stripped down C just doesn’t have. 

Gone are all those handy string manip¬ 
ulators like LEFTS, MID$, STRINGS, etc. In 
C, when you reach for even simple 
invocations like INPUT or PRINT — well, 
underlying such expressions in BASIC are 
bulging macros which C cannot have if it is 
to keep its slim profile. 

But now comes BASIC_C and all your 
old favorites are back. Over 80 routines to 
open and close files, field and perform 
conversions on file buffers, peek and poke, 
print using, clear screen, "instr", on error 
goto... they’re all there. Some have re¬ 
worked names and syntax to suit C, but all 
are written as one-to-one functional equiva¬ 
lents to the familiar features of BASIC. And 
they are documented one to a page in 
alphabetical sequence like the Microsoft 
manual for added familiarity. 

So with BASIC_C, when you’re thinking 
INPUT, go ahead. Use it. Or LPRINT or 
LOCATE or INKEY. But without BASIC_C, 
you will find that every line of code 
plunges you back in the C texts to figure out 
how to write it. Someday you’ll want to, but 
for now, BASIC_C will start you program¬ 
ming quickly at the statement level so that 
you can concentrate on C’s larger concepts. 

Product Code: S0350 PC Brand: 

List Price: $ 175.00 *139.00 


RASTOC 0 pt\mvz£ s ' 

Translates BASIC 
Programs Into C 

F or a trifling price, BASTOC™ will 
move truckloads of BASIC code over 
to C. It is a translator which takes in Micro¬ 
soft Extended or CBASIC and emits pure 
Kemighan & Ritchie C for the Lattice com¬ 
piler. It will optionally convert your pro¬ 
gram into a single monolithic C function or 
will decompose it into separate functions, 
one for each GOSUB label. 

Version 2.0 adds optimization, with dra¬ 
matic reductions in execution time. It con¬ 
verts to C integers those numeric 
variables it finds in BASIC programs 
which really do not need floating point. It 
eliminates unreachable code. Where 
BASIC uses full assignment statements to 
increment and decrement counter, BAS¬ 
TOC converts to C’s compact form, nested 
in other statements. Strings are dynami¬ 
cally allocated in the target program, rid¬ 
ding your application of BASIC’s catatonic 
halts for garbage collection. 

BASTOC will try to create structure of 
even the most convoluted BASIC code, 
and writes any indigestible statement into 
the C output as a comment accompanied 
by an explanation of the problem. Also, 
you can optionally tell BASTOC to insert 
BASIC source lines into the C target as 
comments, a dandy way to learn the dif¬ 
ferences between the languages. 

Ask for: S0375 & BASIC PC Brand: 
List: *495 s 399 


PANEL 

Feature-Laden 
Screen Design Tool 

T he newest version of this premier pro¬ 
gramming tool lets you layer your 
screen designs with up to ten overlapping 
images, making it easy to background a 
screen with pop-up lists, help boxes, and 
alternate sets of input fields. 

Writing your own screenware is a good 
way to blow completion dates and profits. 
Panel™ works with you interactively to set 
up foolproof screen displays and data en¬ 
try forms rapidly. It tests your form to prove 
that it (and test data) behave correctly, then 
converts the finished work into C source 
code for incorporation into your applica¬ 
tion. Compile with Lattice or Microsoft. 

Wonderfully diverse attributes may be 
selected for any field — size, data type, 
color, of course, but also conversion of 
input to upper case; clearance of existing 
data when new entry is started; masks for 
standard formats (eg, dates, phone num¬ 
bers); a choice of styles for numeric fields; 
phrases which fill in when their first letter 
is typed; multiple-choice lists from which to 
choose a field fill-in by cursoring a high¬ 
lighted bar. Fields may be multi-lined (eg, 
name and address as one field) and 
scrolled if larger than the screen space 
allotted them. 

Panel builds in a user interface for 
keystroke movement within and between 
fields, and supplies extensive validation 
routines for checking user field entries — 
in source code, so you can tack on your 
own unique variants. Screen designs may 
be dynamically loaded from file, or com¬ 
piled into a program, and version 6 has 
optimized code to quicken display speed. 

The whole package is wrapped in a 
monitor and keyboard customization 
package to tailor your application for other 
equipment. Panel. A superior productivity 
tool now bigger than ever. 

Product Code: S0400* PC Brand: 

List Price: $295.00 *229.00 


Lattice is a registered TM and LatticeC, C-Food Smorgasbord and C-Sprite are TMs of Lattice Inc. / Greenleal TM Greenleal Soft¬ 
ware / Panel TM Roundhili Computer Systems Ltd / Plink86 and Plink86-Plus TMs Phoenix Computer Products Corp / Btrieve 
TM Softcraft Inc RUN/C Professional and Loadable Libraries TMs Age of Reason Co / BASTOC TM JMI Software Consultants 
Inc / BetterBASIC TM Summit Software Technology Inc. / GSS. GSS-Drivers and GSS-Toolkit TMs Graphic Software Systems. Inc. 
/ IBM registered TM International Business Machines/UNIX TM Bell Laboratories/GW-BASIC and XENIX TMs Microsoft Inc. 
/WordStar registered TM Micropro/ CP / M and CBasic TMs Digital Research / PC Brand TM PC Brand 










PRICED TO SAVE YOU MONEY, 
SHIPPED ROST ANYWHERE, gg 


RUN/C PROFESSIONAL VERSION 

Interpreter Now Accesses Binary Libraries 


LATTICE C VERSION 3.0 

Major Upgrades to the Best Selling C Compiler 


R UN/C was an innovator for convert¬ 
ing inaccessible compiled C to an 
interpreted language as easy to grab 
hold of as BASIC. Great for learning, 
but a problem remained for pros An 
interpreter expects nothing but source 
code, and that put the vast resource of 
professional binary libraries off limits. 

No longer: RUN/C Professional™ has 
the tools dynamically to load and unload 
multiple binary function libraries while 
in its interpreter. Your code can now 
reach for functions in the commercial C 
libraries like C-Food Smorgasbord™ - 
opposite— potentially any library com¬ 
piled with Lattice's large model. How? 
The manual shows how to develop the 
interface to a library, using the Lattice 
compiler (a must!). How about your own 
archive of functions? No reason why not. 

The RUN/C Interpreter 

The interpreting engine lies at the 
heart of both the improved original 
RUN/C and the new Professional 
version. Its creators had the inspiration 
to make once formidable C behave on 
screen much like PC BASIC with a full¬ 
screen editor like WordStar® .Just 
create a program and RUN it. If it 
stumbles, LIST it, EDIT it, add lines, 
delete lines, RUN it again, fix it again. 
Use familiar commands like LOAD, 
MERGE, SAVE, FILES, even TRON and 
TRACE, and a free profiler. 

RUN/C is ideal for rapid program 
development. Put up code at high 
speed, tinker and re-arrange, try out 
things devil-may-care, and let RUN/C 
find your typos and malaprops. 

RUN/C has a treasury of functions 
built into the interpreter — over 100 
paralleling the most used functions 
found in standard compiler libraries. So 
when and if the time comes to compile, 
your source code will find counterparts. 

There are lots more features — system 
interrupts, a shell command to invoke 
any operating system command without 
leaving RUN/C, even the ability to load 
a preferred editor in parallel and switch 
back and forth. 

RUN/C Standard Version 

Straight RUN/C has all above but the 
Loadable Libraries™ docking module. 

It utilizes source code only, whether 
created by its own editor, or from any 
ASCII file, such as programs you’ve 
already written, or commercial libraries 
which supply source code. 

It makes a splendid teacher. The 
manual has not just instructions how to 
use RUN/C, but its 500-plus pages 
provide a thorough-going demonstra¬ 
tion of the C language itself. Every 
feature, of C or RUN/C, is accorded its 


OUTSIDE U.S.? 

The dollar is weaker. In your currency, our 
prices are lower than ever. PC BRAND ships 
anywhere. We’ll prepare the export documents 
and ship to you or your agent by air freight, 
courier, or air parcel post. Pay by credit card or 
wire funds (see "Terms" below). 


own micro-chapter. Over 100 of these 
chapters are devoted to RUN/C’s built- 
in functions, and every one lists a sample 
program showing how it is used. The 
programs are also on the disks. So as 
you read them in the manual, you can 
run them on the screen. (Needs 
180k-256k recommended.) 

RUN/C Professional 

RUN/C Pro has every feature of 
RUN/C regular plus the binary library 
link-up and an extra level of debugging 
aids. They are ingeniously installed 
behind a built-in function, so you can call 
for debugging conditionally. The called 
function paints a menu of debugging 
tools to choose from, including immedi¬ 
ate mode to display variables, single- 
step tracing, and changing of variables. 

RUN/C Professional can tackle 
projects of any size. Use it as a creative 
front end to feed a continuous stream of 
source code into compiled modules. 

Only the source work in progress is still 
interpreted: the finished modules will 
whiz by at object speeds. It will change 
how you work. (320k minimum and 512k 
recommended to fit libraries.) 

RUN/C: quite a run for your money. 

List: PC 

Code: Product: Price: Brand: 

S0910 RUN/C $ 120 $109 

S0950 RUN/C Pro s 250 $ 199 


Leave the Driving to GSS 

G SS™ has reconfigured two compo¬ 
nents of its comprehensive graphics 
tools to conform with the more advanced 
ANSI Computer Graphics Interface (CGI) 
standard. 

At the heart of the system is now the 
Development Toolkit which contains all 
language interfaces and device drivers 
for keyboards, mice, joysticks, tablets, 
printers, plotters, cameras, and more. 
Drivers now house all management of vec¬ 
tor graphics (plotters) and bitmaps used 
by raster input devices (scanners) to insu¬ 
late completely the application program 
from concern for device idiosyncracy. No 
one else has implemented CGI that way. It 
means programming remains generic; 
just switch drivers and the same program 
will drive a different device, including 
intelligent controllers which do not want 
micro instructions. 

GSS Kernel™ conforms to level 2b of 
ANSI's Graphical Kernel System (GKS) 
and contains all its needed drivers and 
language bindings. Kernel has macro 
level tools to draw and color an object, 
store the sequential instructions, and 
recreate the object on its own, as well as 
segment it, transform it, etc., all the while 
returning data on attribute settings, sys¬ 
tem and device status. So powerful, a sin¬ 
gle command may represent several 
score lower level statements. 

Plotting has the equivalent GKS tools for 
graph and chart generation and their cap- 


L attice has labored and come forth 
with the long-awaited Version 3.0 of its 
top-rated compiler. A long list of enhance¬ 
ments, adoption of the ANSI draft stan¬ 
dard, documentation rivaled by few, and 
add-on libraries matched by none in 
sheer quantity restore Lattice C™ to its 
leadership role as the C compiler to beat. 

Lattice now embraces key UNIX™ 
enhancements which have entered the 
language since Kernighan & Ritchie: void 
functions returning no value, enumerated 
data types to assign stepped values to var¬ 
iables, the ability to pass data between 
structures by assignment statements. And 
3.0 adopts checking of external function 
arguments by data type as proposed by 
ANSI to kill bug swarms when modules 
join up at link time. 

The greatly expanded libraries, now 
comprising 325 functional), enable the file 
sharing and record locking provisions of 
DOS 3.1, provide a full complement of 
transcendentals, and a host of utilities to 
mimic the UNIX and XENIX™ environ¬ 
ments. 

Lattice now delivers smaller .EXE files, 
curing one past complaint, boasts very 
fast link times and a more efficient aliasing 
algorithm, 

The compiler now defaults to the ANSI 
proposed standard when you need a strict 
mistress, but command line options toler¬ 
ate straying. New options generate code 
to use 80186 and 80286 features, and the 


tioning: hand it apples and oranges, say 
"pie”, and it bakes the numbers into a 
digestible display for screen or plotters. 

Kernel and Plotting have tools to convert 
images they create to ANSI Computer 
Graphics Metafiles (CGMs), a token&ed 
standard for storing every form of graphic 
image as data. The Metafile Interpreter 
reads the contents of a CGM and inter¬ 
prets it with full CGI capability for re-crea¬ 
tion on various devices, and you can cut 
and paste before display. 

Quality software? IBM thinks so. They 
sell the GSS series under their own label. 

Unit royalties and annual fees have 
been instituted for redistribution. Call for 
schedule. Needs 256k. _. • 

List PC 

Ask for: Price: Brand: 

GS010 CGI Dvlpmt Tbolkit *395 *339 
GS020 Kernel System *495 s 419 
GS030 Plotting System *295 $249 
GS040 Metafile Intepreter *250 $209 


8087 is of course sensed and utilized if 
aboard. 

Lattice has enjoyed pre-eminence so 
long that developers have created far 
more tools to marry into Lattice C than any 
other compiler. Programmers now have 
an enormous resource of libraries and util¬ 
ities to use with Lattice to speed their 
work. William Hunt, in his exhaustive anal¬ 
ysis of 12 compilers in the 1/86 issue of the 
PC Tech Journal awards Lattice the only 
"very good" rating for add-on library 
availability. He sums up with this all- 
around accolade: "a fine product to con¬ 
sider for the production of important appli¬ 
cations." 

Ask for: SO 100 PC Brand: 

List: *500 $299 


BETTER BASIC 

New Version Compatible 
with Microsoft BASICS 

T his hearty implementation provides a 
real alternative to technical languages 
like C. It melds the most useful features of 
C, Pascal, and Modula 2 into BASIC, while 
retaining the familiarity of a language 
already known to millions. And now Ver¬ 
sion 2.0 is 100% compatible with Micro¬ 
soft's GW™ BASIC and IBM BASICA 
including graphics, sound, and assembly 
language calls. Just load old programs 
and run. Save and they are converted to 
BetterBASIC. 

It's big: BetterBASIC’s hugely expanded 
features require 192k; your programs can 
go all the way to the PC's full 640k. It's 
comfy: Behaves like Microsoft BASIC at 
the interactive level, with a full-screen edi¬ 
tor, direct statement execution, and always 
poised to RUN. It’s fast: BB is an incremen¬ 
tal compiler—unlike with interpreters 
each statement is checked and compiled 
just once. The Sieve benchmark runs six 
times faster than with Microsoft. 

BetterBASIC® has C-like structures for 
reference to entire records so say good¬ 
bye to FIELD, MKI$, CVD, LSET, etc. It has 
"procedures" summoned by name unlike 
GOSUBs. Lots more features: built-in 
linker for compiled modules; trace; 
debugging breakpoints; cross-reference 
command; 32k strings; DOS and BIOS 
calls and interrupts; recursion. 

List PC 

Ask for: Price: Brand: 

SI 200 BetterBASIC *195 *169 

SI201 Runtime Module *250 *239 

SI 202 8087 Interface ‘99 *89 

S1205 Btrieve Interface ‘99 *89 


Looking for something? We carry—or can get—many more 
products than are featured here. Need terms? On-the-spot 
credit to most public companies, government, educational, 
medical institutions. No fees for credit cards or COD. Not 
quite right? Send it back within 30 days for full refund or 
credit.* 

* Subject to "terms and conditions”. Some developers prohibit breaking disk seals but you can at least read 
the manual. 


The GSS GRAPHICS SYSTEM inARD , 

AN Sl CGI STANDARD'. 


TERMS AND CONDITIONS OF SALE 

Licenses: Each price is for a license to use a pro¬ 
duct on a single computer and does not con¬ 
stitute its ownership. We will inquire for you about 
site licenses. Except as otherwise indicated, pro¬ 
ducts may be used to create programs for 
distribution without royalty payments or addi¬ 
tional licenses, provided said programs do not 
substantially replicate the products themselves. 
Compatibility: PC BRAND’S standard products 
are designed to operate with the IBM^ PC, XT or 
AT under PC-DOS and require no more than 128k 
of RAM unless indicated. Non IBM machines us¬ 
ing MS-DOS - contact manufacturer. 

Returns: Defective parts will be replaced. Pro¬ 
ducts are rendered unreturnable if you open seal¬ 
ed envelopes containing diskettes. Otherwise, 
call for authorization to return a product for refund. 


Payment: We honor MasterCard, Visa, Ameri¬ 
can Express (no surcharge), checks in advance, 
or funds wired to PC Brand, c/o Chemical Bank, 
126 East 86 St., New York, Account 034-016058. 
COD (U.S. only) for cash, money order, certified 
check (no fee). NY State, add sales tax. Purchase 
orders accepted from larger corporations and in¬ 
stitutions at our discretion if you agree to net 30 
days plus 2% a month late penalty thereafter. 
Shipping & Handling: U.S. UPS Surface 1st pro¬ 
duct $6, each add’l $3. UPS 2nd Day Air 1st pro¬ 
duct $10, each add’l $4.50. UPS Next Day Air or 
Federal Express 1-2 Day Air 1st product $18, each 
add’l $6. FedEx Next Day 10 AM 1st product $28, 
each add’l $7. International Charges vary by 
destination and carrier. $10 per shipping con¬ 
tainer for export forms. Air parcel post at your risk 
beyond collected insurable amount. 


For Orders, Literature, or Catalogs, Call Us at... 

800 PC-BRAND 

That's (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 


© 1986 PC BRAND 

Prices, terms, and specifications subject to change without notice. 

CIRCLE NO. 171 ON READER SERVICE CARD 











ILLUSTRATION • AKIO MATSUYOSHI 



Disk Parameters 


While the details of most DOS functions are hidden 
from the user, they are not inaccessible. Disk parameters 
and system information are there for the asking. 


O ne of the most important func¬ 
tions of a disk operating system 
is to provide a standard pro¬ 
gramming interface for peripheral I/O 
and storage devices—principally, disk 
drives. DOS stores and retrieves disk 
information in the form of files. For 
most applications, file-oriented storage 
is extremely convenient because the de¬ 
tails of space allocation on the disk are 
handled in a manner invisible to the 
user. For many system support func¬ 
tions, however, the user needs to access 
some of the low-level disk information 
that DOS maintains. This information 
takes two forms: parameters maintained 
internally by DOS that describe certain 
characteristics of the disk and disk stor¬ 
age; and special sectors, such as the 
root directory and file allocation table 
(FAT), maintained by DOS on the disk 
for storing system information. 

The documented function calls in 
DOS (accessed through software inter¬ 
rupt 21H) for the most part provide 
only file-oriented access to information 
on disk storage devices. A method for 


GLENN F. ROBERTS 


reading and writing disk data on a logi¬ 
cal sector basis is provided (via soft¬ 
ware interrupts 25H and 26H), but no 
standardized method exists for deter¬ 
mining the size and location of impor¬ 
tant disk components such as the root 
directory and the FAT. Some of the 
ways that are used (interpreting the 
media descriptor byte, for example) 
may fail when used on devices with un¬ 
usual formats, such as software-emu¬ 
lated disks (RAM disks), or when sup¬ 
port for new devices is added to DOS. 

Obtaining most of the information 
needed to write disk-based utilities that 
should work for all disk types is possi¬ 
ble with some effort, however. Some of 
the methods to do so are poorly docu¬ 
mented—or essentially undocumented. 

DOS DISK STRUCTURE 

DOS views a disk volume as a logical 
entity that consists of a series of 
sequential sectors. The DOS view of a 
disk should be considered a logical 
view because the physical characteristics 
of the underlying medium are largely 


hidden from the user. These character¬ 
istics include the number of heads on 
the drive (or the number of recording 
surfaces on the medium), the number 
of tracks on the disk, and the number 
of sectors per track. 

In addition to hiding the physical 
characteristics of the drive, DOS hides 
information on the partitioning of hard 
disks. Partitions are used to allocate a 
portion of a hard disk to be used as a 
logical drive, with more than one logi¬ 
cal DOS drive possible on a single 
physical disk; or they can be used to 
hide a portion of a hard disk from 
DOS. Such hidden portions are typically 
used to support more than one operat¬ 
ing system on the same disk. 

DOS disks are organized into four 
basic areas: the boot record, the FAT 
area, the root directory, and the data 
area. These areas always occur in this 
order, but the amount of space allo¬ 
cated to each one varies. 

The boot record is typically one 
sector in length and contains a program 
that the computer executes when 


112 


PC TECH JOURNAL 











DIRECTORY STRUCTURE 
C:\ 






DOS AND NON-DOS 
PARTITIONS 




FILE ALLOCATION TABLE 




m 

fa— h 

> 

V 


■ 

v 

\ ;:' y 



\ 





r\r 



- / 

<"1 
























































THE LEADER'S OFFER. 



G 


We Want You To See 
What We've Got 

We want you to experience the inno¬ 
vative new technologies, products, and 
services you can get only from the 
Leader. Like DiskMeld™—Emerald’s 
proprietary technology that allows two 
physical hard disks to meld into one logi¬ 
cal file or volume. And what better way to 
try DiskMeld, than by getting the second 
disk at half price? 

No one else can offer all the options 
we can. That’s why we’re making this 
special, limited offer (available now, di¬ 
rect from Emerald or from your dealer). 

Powerful Mass 
Storage 

Emerald pioneered true mass storage 
for microcomputers. Our PC, XT, AT, 
and IBM compatible-based hard disk subsystems of¬ 
fer power, versatility, and performance you won’t 
find elsewhere: 

• DiskMeld™—Emerald technology that merges 
two physical hard disks into one logical file or 
volume. 

• Larger volumes—Emerald was the first to shatter 
the PC-DOS 32 MegaByte barrier. 

• Faster access through Disk Caching. 

• Faster throughput with our user-selectable inter¬ 
leave. 

• On-site self diagnostic functions. 

• On-site preventative maintenance with Trackfix™. 

• Internal or external hard disk subsystems. 

• A wide range of capacities, from 30 to 236 Mega- 
Bytes. 

• Xenix System III and System V compatibility. 

• QNX Compatibility. 

Backup: Fast, Secure, 
Automatic 

Our 1/4-inch tape backup subsystems provide 
the best combination of speed and automation availa¬ 
ble. With functions and features you won’t see any¬ 
where else. 

. ASP™—our new backup/restore utility, with an 
easy to use, Lotus-like interface, digital and 
graphic displays. 

• Real-time information on status of backup. 

• Three types of file-by-file backup. 

• Super-fast streaming. 

• Password security. 

• Multiple backup sessions on the same tape—lets 


et 50% off a 30-MB disk 
& 60-MB tape drive when 
you buy a 72-MB disk. 

When you buy an Emerald™ 72-MegaByte hard disk subsystem at the 
regular price between April 8 and May 30, 1986, we’ll give you a coupon 
good for 50% off the price of our high-performance 30 MegaByte drive and / 
or a 60 MegaByte 1/4 inch tape backup. (You can purchase the second disk or 
tape backup anytime before September 30,1986. So there’s plenty of time to 
work it into your budget. 

But there’s more—$500 worth of free software when you buy all three 
(the 72-MegaByte hard disk at our regular retail price, and the 30-MegaByte 
drive and 1/4 inch tape backup at half price). You’ll get Borland’s Turbo 
Lightning™, Reflex: The Analyst™, and Superkey™; Microsoft Win¬ 
dows™; Ready!™ from Living Videotext, and Funk Software’s Sideways™. 

Offer Ends May 30, 1986 


you save on tape media while physically organiz¬ 
ing your data the way you want it. 

• Programmable time-activator—a backup that runs 
itself. 

• Advanced self-diagnostic and maintenance func¬ 
tions for tape subsystems. 

• 60-MegaByte internal or external subsystems. 

• Installable device drivers for custom applications. 

• Xenix System III and System V compatibility. 

• QNX Compatibility. 

Mainframe Connectivity 

Our Micro-to-mainframe tape subsystems per¬ 
form all these same functions—and they allow you 
to transfer data offline between mainframes and 
your PCs. 

• Rapid translation between EBCDIC and ASCII— 
connects micros to mainframes and minis, through 
industry standard 1/2-inch tape. And does it 100 
times faster than terminal emulation. (At 3.3 Me- 
gaBytes per minute, that’s 3 times faster than any 
other 1/2-inch subsystem available.) 

• EBCDIC to dBase III and Lotus 1-2-3, via CSV 
reformatting. 

• Data transfer and hard disk backup on the same 
system. 

NetWorthy Subsystems™ 

All our subsystems are network-compatible, 
with special support for LANs. That means you 
won’t have to sacrifice any of the performance fea¬ 
tures you paid for when you bought your 
subsystem—or your LAN. 

• Novell LANs. 

• IBM LANs. 


• Most MS-Net compatible LANs. 

• Online backup with network users 
logged on. 

• Hidden files and other Novell special 
files. 

On-Site Service 
Available Now 

Emerald now offers Green Light 
Service™—our next-day, on-site service 
option. It covers all Emerald compo¬ 
nents, as well as your IBM, Compaq, or 
Zenith PC, most popular modems, moni¬ 
tors, printers, add-in memory, and multi¬ 
function boards in your system. And of 
course, we still back our products with a 
limited one-year warranty, and with ex¬ 
panded customer support that’s available 
for free consultation ten hours of every 
business day. 

Hurry 

Try DiskMeld now—with the second disk at 
half price. Or, add 1/4-inch tape backup for half 
price. Better yet, add both, and get $500 worth of 
free software. This offer ends May 30, 1986, so act 
now. 

It’s the perfect opportunity to discover what 
makes Emerald the Leader. And what keeps us 
ahead of the pack. * 


iteA- 



Emerald 

Systems Corporation 


Mainframe Storage For Micros 


4757 Morena Boulevard 
San Diego, CA 92117 
U.S.A. 

(619) 270-1994 

Telex: 323458 EMERSYS 

Easylink: 62853804 


Emerald Systems Europe 

P.O. Box 310 

6236 Maastricht Airport 

The Netherlands 

4402-77979 

Telex: 56239 


Turbo Lightning. Reflex: The Analyst, and Superkey are trademarks of Borland International. Microsoft Windows is a trademark of Microsoft. Inc. Ready! is a trademark of Living Videotext. Sideways is a trademark of Funk Software. 

dBase III™ Ashton-Tate-Lotus 123™ Lotus Development Corporation-IBM PC and AT™, international Business Machines Corporation—Novell NetWare™ Novell Inc.-Emerald. Diskmeld. Extended Mass Storage Architecture. Archival Storage Protector. ASP. Trackfix. 
NetWorthy Subsystems, and Mainframe Storage For Micros™ Emerald Systems Corporation. 


CIRCLE NO. 107 ON READER SERVICE CARD 

























PARAMETERS 



This format for the boot record header was not supported by IBM prior to DOS 
2.0; nor is it supported by some non-IBM DOS vendors even for 2.0 and later. 


booted from the disk. For bootable 
disks this program bootstraps DOS by 
loading the appropriate BIOS extension 
and DOS core software and then exe¬ 
cuting COMMAND.COM (or other user- 
specified shell). Beginning with DOS 
2.0 the boot record header also has 
been used to store information about 
the disk itself. The layout of this header 
information is shown in figure 1. 

The root directory, FAT, and data 
areas are used by DOS for maintaining 
files on the disk. DOS manages file 
space in groups of one or more sectors 
called allocation units or clusters. At 
the time that a file is created it is ini¬ 
tially given one cluster of space. The 
operating system allocates physical 
space on the disk only in multiples of 
one cluster. The actual number of data 
bytes in the file is maintained in the 
file’s directory entry and is displayed by 
using the DIR command. 

The size of a cluster varies across 
different types and sizes of disks. On a 
double-sided 5 v 4-inch floppy disk a clus¬ 
ter is typically two sectors (1,024 bytes); 
on a 1.2MB high-density 5 v 4-inch floppy 
disk it is one sector (512 bytes); and on 
hard disks it can be four, eight, or even 
sixteen sectors. The concept of allocat¬ 
ing space in units of more than one 
sector leads to a waste of disk space. A 
file containing just a few bytes of data 
will, in effect, take up 4KB (one cluster) 
of space on a typical 10MB hard disk. 
The cluster approach is nonetheless ef¬ 
ficient in managing disk space. 

DOS uses the FAT to keep track of 
which clusters are available on the disk, 
which ones are in use by files and sub¬ 
directories, and which ones are not 
usable (typically because of physical 
damage to the disk). The FAT is simply 
a table containing one entry for each 
cluster on the disk. It can have entries 
that are either 12- or 16-bit numbers. 
DOS uses a 16-bit FAT only when it 
must support more than 4,086 clusters 
on the disk (for hard disks larger than 
16MB). The 4,086 figure is derived from 
the largest binary number expressible 
in 12 bits (4,096) minus the number of 
reserved FAT entries. 

The FAT is always stored immedi¬ 
ately following the boot record. Most 
disk formats store two copies of the 
FAT, one right after the other. This is 
not a DOS requirement, however, and 
some disks (typically RAM disks) store 
and maintain only one FAT copy. 

DOS views the data area of a disk 
as a sequence of clusters, beginning 
with cluster 2. There is no cluster 0 or 
1 because the first two entries in the 
FAT have other functions: FAT entry 0 


contains the media descriptor, and 
entry 1 seems to be reserved for future 
use, with a constant value of FFFH 
(FFFFH for 16-bit FATs). Cluster 2 
always resides immediately after the 
root directory on a disk. Partial clusters 
cannot exist, so if the number of sectors 
in the data area of a disk is not evenly 
divisible by the number of sectors in a 
cluster, unused (and unusable) sectors 
will appear at the end of the disk. 

In DOS a given cluster can be in 
one of three states at any time: (1) it 
can be unused and therefore available 
for use by a new or expanded file; 

(2) it can be locked out, in which case 
DOS will never try to use it; or (3) it 
can be part of an existing file, so that 
DOS must either keep track of the next 
cluster in the file or indicate that this is 
the last cluster in the file. 

DOS monitors all three states via 
the entries in the FAT. Entries of 0 indi¬ 
cate unused clusters. Entries of FF7H 
(or FFF7H for 16-bit FATs) mean that 
these clusters are locked out. Nonzero 
entries less than this are used to indi¬ 
cate the chaining of clusters, with FFFH 
(or FFFFH for 16-bit FATs) used to 
mark the end of the chain. The number 
of the first cluster in the chain is main¬ 
tained in the file’s directory entry. 


The process of tracing a file’s chain 
within the FAT is simple. If the file is of 
zero length, the cluster number in the 
directory entry should be 0, meaning 
that no clusters are reserved for the file. 
If the length of the file is greater than 0 
but less than the cluster size, then the 
file requires only one cluster of space 
and this cluster number is given in the 
file’s directory entry. The corresponding 
value in the FAT for that cluster shows 
the end-of-chain value. If the file 
requires more than one cluster for stor¬ 
age, the first cluster number again is 
given in the directory entry; however, 
the FAT entry for this cluster contains 
the number of the next cluster in the 
chain. The chaining of succeeding clus¬ 
ters is handled in the same manner. 

This process can be used to represent 
files of arbitrary length, with the end-of- 
chain value always FFFH for 12-bit FATs 
or FFFFH for 16-bit FATs. 

Figure 2 illustrates a short cluster 
chain on a 360KB floppy disk with 12- 
bit FAT entries. The directory entry 
shows a file size of 2,900 bytes (B54H) 
for file SAMPLE.DAT. This quantity of 
space requires three 1KB clusters of 
allocated space. The chain begins with 
cluster 002H, as indicated by the num¬ 
ber in the directory entry. At location 


MAY 1986 


115 































... DELIVERS THESE ESSENTIAL FEATURES. 
DOES YOUR DBMS? 


MDBS III is more powerful than 
most mainframe data base management 
systems. . and less expensive. MDBS III 
was designed for serious application 
developers like you. Like the developers 
of Solomon III, the “Number One” 
accounting system. And all the others 
who demand these essential features 
MDBS III provides: 

DATA STRUCTURING- So flexible it 
captures any data relationship you can 
imagine. So comprehensive you'll design 
complex data bases faster than ever. 

TRUE MULTI-USER- Few DBMSs give 
you as many facilities to guard against 
haphazard concurrent data modification 
as MDBS III does, down to the locking 
of individual data records. 
PERFORMANCE- MDBS III gives you 
fast data modification and retrieval plus 
extensive performance tuning facilities. 

DATA INTEGRITY- MDBS III pro¬ 
vides airtight integrity assurances. from 
range checking to transaction-logging to 
enforcement of data relationships, all 
automatically. 


PHYSICAL DATA PROTECTION- 

You get automatic recovery from media 
as well as from physical data destruction. 
DATA SECURITY —Protect your data 
using passwords, encryption, and read/ 
write access down to the field level. 

PORTABILITY -MDBS III runs on a 
range of mini and micro computers, 
including LANs, and supports a variety 
of host language interfaces. 

SUPPORT—mdbs is there when you 
need us, with in-depth seminars, tele¬ 
phone support, individual consulting 
and contract programming to help you 
develop and install your applications. 

Call us today at 800-323-3629 for more 
information; in Canada or Illinois, dial 
312-303-6300. Or write mdbs, P.O. Box 248, 
Lafayette, IN 47902, TELEX 209147 
ISE UR. 



mdbs is a registered trademark and MDBS III is a trademark of Micro Data Base Systems, Inc. IMS is a trademark of IBM; IDMS of Cullinet. 






PARAMETERS 



The FAT chain begins with the first cluster number in the directory entry, and 
ends with a value of FFFH for 12-bit FATs, and FFFFH for 16-bit FATs. 


002H in the FAT is the number of the 
next cluster in the chain, 022H. At loca¬ 
tion 022H is the number of the next 
cluster, 040H. The FAT entry at 040H is 
FFFH, indicating the end of the chain. 

A FEW DISK PARAMETERS 

A list of useful disk parameters main¬ 
tained by DOS is presented in table 1 
and described below. The parameters 
are grouped into three categories. 

Those included in the first category de¬ 
fine the physical characteristics of the 
disk as well as the disk drive: 

TS (total sectors on the disk). This is 
the number of sectors in the logical 
image of the disk. It does not include 
portions not visible to DOS, such as the 
master boot record or other partitions. 
BPS (bytes per sector). The size of a 
disk sector is usually 512 bytes; it is 
often smaller for software-emulated 
disks (RAM disks) or larger for high-ca¬ 
pacity (more than 32MB) hard disks. 
(See “Breaking the 32MB Barrier,” 
Thomas V. Hoffmann, this issue, p. 94). 
MD (media descriptor). A byte provid¬ 
ing a limited description of the type of 
disk medium associated with a drive is 
called an MD. The IBM DOS Technical 
Reference defines the bit settings in this 
byte as follows: bit 0, 1 = two-sided 
and 0 = not two-sided; bit 1, 1 = eight- 
sector and 0 = not eight-sector; bit 2, 1 
= removable and 0 = not removable; 
bits 3-7 must be set to 1. 

SPT (sectors per track). This is the 
number of sectors per physical track. 


NH (number of heads). The number of 
read/write heads on the drive is equiva¬ 
lent to the number of recording sur¬ 
faces available on the disk and, there¬ 
fore, the number of tracks per cylinder. 
HS (hidden sectors). A number of sec¬ 
tors are hidden from DOS in that they 
precede the DOS logical image on the 
physical disk. This includes the master 
boot record and any partitions that 
occupy sectors occurring prior to the 
DOS partition. An identical figure is 
given for each partition in the master 
boot record partition table. The DOS 
Technical Reference calls this table en¬ 
try rel sect , which is the sector number 
at which each partition begins. 

The second category of disk param¬ 
eters consists of information relating to 
the way DOS organizes disk storage: 

RS (reserved sectors). This is the num¬ 
ber of sectors reserved at the beginning 
of the disk for the DOS boot code, 
which is typically one sector. 

D (root directory entries). D indicates 
the maximum number of entries that 
can be stored in the root directory. 
Because the root directory is a fixed 
length (unlike subdirectories, which are 
essentially files), it is able to store only 
a fixed number of entries. 

CF (copies of FAT). DOS maintains 
copies of the FAT on the disk. For mag¬ 
netic media the CF is usually two; for 
RAM disks, one copy is stored. 

SPF (sectors per FAT). This is the num¬ 
ber of sectors used for each copy of the 
FAT that is stored on the disk. 


SPC (sectors per cluster). SPC is the 
number of sectors in a cluster. 

FUS (first usable sector). The first sector 
of the DOS storage area on the disk 
begins immediately after the end of the 
root directory storage area. 

FDS (first directory sector). This is the 
first sector of the disk’s root directory. 
TCC (total cluster count). TCC is the 
total number of clusters in the data 
storage area of the disk. 

DFS (disk free space). This is the num¬ 
ber of clusters that are available for 
storage of files and/or subdirectories. 
DBS (disk bad space). This is the num¬ 
ber of clusters locked out by DOS. 
Clusters are typically locked out when 
the disk is formatted, because one or 
more sectors in the cluster are dam¬ 
aged. However, the RECOVER utility 
also can lock out clusters on disks that 
have developed bad sectors over time. 
DUS (disk used space). This is the num¬ 
ber of clusters in use by files and subdi¬ 
rectories. DUS plus DBS plus DFS 
should be equal to TCC. 

The third category of parameters is 
a miscellaneous collection of informa¬ 
tion on disk usage and characteristics: 
DDA (device driver address). DDA is a 
far address (offset and segment) point¬ 
ing to the header of the DOS device 
driver for the drive (descriptions of the 
driver and header layouts can be found 
in the DOS Technical Reference). 

CWD (current working directory). The 
current working directory for the drive 
is set by the DOS CD command or 
CHDIR function (function 3B). 

DVN (disk volume name). The 11-char¬ 
acter volume name is assigned to the 
disk when it is formatted or via the 
DOS LABEL command (3.0 and later). 
DCD (disk creation date). This is the 
date on which the disk was formatted. 
DCT (disk creation time). This is the 
time at which the disk was formatted. 
OEM (original equipment manufac¬ 
turer). The OEM is an eight-byte string 
indicating the DOS version and distri¬ 
bution used to format the disk. 

OBTAINING DISK INFORMATION 

Some utilities may require that a num¬ 
ber of different techniques be used to 
obtain all of the information needed for 
a disk or drive. Table 1 summarizes 
ways in which the various disk param¬ 
eters discussed above may be obtained. 

The easiest and safest means (in 
terms of transportability across DOS im¬ 
plementations and versions) of getting 
disk information are documented DOS 
function calls. The DOS function call 
1BH and the related call 1CH return 
bytes per sector (BPS), sectors per clus- 


MAY1986 


117 



























PARAMETERS 


TABLE 1: Disk Information. Sources 


PARAMETER 

DESCRIPTION 

4E 

DOS FUNCTIONS 
1C 32 36 

47 

DOS 

BOOT REC. 

MASTER 
BOOT REC. 

FAT 

SEARCH 

TS 

Total sectors on disk 

— 

— 

— 

— 

— 

Yes 

Yes 

— 

BPS 

Bytes per sector 

— 

Yes 

Yes 

Yes 

— 

Yes 

— 

— 

MD 

Media descriptor 

— 

Yes 

Yes 

— 

— 

Yes 

— 

— 

SPT 

Sectors per track 

— 

— 

— 

— 

— 

Yes 

— 

— 

NH 

Number of heads 

— 

— 

Yes 

— 

— 

Yes 

— 

— 

HS 

Sectors hidden from DOS 

— 

— 

— 

— 

— 

Yes 

Yes 

— 

RS 

Reserved sectors 

— 

— 

Yes 

— 

— 

Yes 

— 

— 

D 

Root directory entries 

— 

— 

Yes 

— 

— 

Yes 

— 

— 

CF 

Copies of FAT 

— 

— 

Yes 

— 

— 

Yes 

— 

— 

SPF 

Sectors in FAT 

— 

— 

Yes 

— 

— 

Yes 

— 

— 

SPC 

Sectors per cluster 

— 

Yes 

Yes 

Yes 

— 

Yes 

— 

— 

FUS 

First usable sector 

— 

— 

Yes 


— 

— 

— 

— 

FDS 

First directory sector 

— 

— 

Yes 

— 

— 

— 

— 

— 

TCC 

Total cluster count 

— 

Yes 

Yes 

Yes 

— 

— 

— 

— 

DFS 

Disk free space 

— 

— 

— 

Yes 

— 

— 

— 

Yes 

DBS 

Disk bad space 

— 

— 

— 

— 

— 

— 

— 

Yes 

DUS 

Disk used space 

— 

— 

— 

— 

— 

— 

— 

Yes 

DDA 

Device driver address 

— 

— 

Yes 

— 

— 

— 

— 

— 

CWD 

Current working directory 

— 

— 

Yes 

— 

Yes 

— 

— 

— 

DVN 

Disk volume name 

Yes 

— 

— 

— 

— 

— 

— 

— 

DCD 

Disk creation date 

Yes 

— 

— 

— 

— 

— 

— 

— 

DCT 

Disk creation time 

Yes 

— 

— 

— 

— 

— 

— 

— 

OEM 

Eight-byte OEM name 

— 

— 

— 

— 

— 

Yes 

— 

— 

AD 

Assigned disk 

— 

— 

Yes 

— 

— 

— 

— 

— 


An important point to remember is that DOS function 32H is undocumented and, therefore, is subject to change or even aban¬ 
donment. Furthermore, the format of the DOS boot record is not standard across all DOS versions and vendors. 


ter (SPC), total cluster count (TCC), and 
the media descriptor (MD). (Call 1BH 
queries the default drive, and call 1CH 
queries a specified drive.) One com¬ 
mon use of both function calls is to de¬ 
termine the number of sectors occu¬ 
pied by each copy of the FAT. Sectors 
per FAT are calculated as follows: 

SPF = ((TCC + 2) * BPC) / BPS 

where BPC is the number of bytes per 
cluster in the FAT. DOS uses a BPC val¬ 
ue of % (1.5 bytes or 12 bits per FAT 
entry) whenever it can, but beginning 
with DOS 3.0, support is provided for 
2-byte FAT entries (BPC = 2). The DOS 
Technical Reference gives the following 
rule for determining BPC: BPC = 1.5 if 
TCC+2 is less than or equal to 4,086; 
BPC = 2 if TCC+2 is greater than 4,086. 

The largest legal FAT value is 4,086 
(0FF6H), because any higher values 
(0FF7H-0FFFH) indicate bad clusters 
and other special conditions. The DOS 
Technical Reference claims to reserve 
cluster values FF0H-FF6H, but does not 
explain what they are used for. 

If a remainder is left in calculating 
SPF, the result must be rounded up to 
the next integer. The integer 2 is added 
to TCC in this calculation because the 


number of entries in the FAT is two 
more than TCC (the first two FAT en¬ 
tries are reserved for storage of the 
media descriptor information). 

When SPF is known, the absolute 
sector read interrupt (25H) can be used 
to read the FAT by assuming that the 
FAT starts at logical sector 1 (that is, 
only one sector is used by the DOS 
boot record or, equivalently, that RS = 
1). This is a safe approach; however it 
may not work if DOS is ever imple¬ 
mented to accommodate boot records 
of more than one sector. 

DOS function 36H provides some 
of the same information as functions 
1BH and 1CH. Its primary function is to 
return the disk free space (DFS) given 
in number of clusters. 

Two other DOS functions useful 
for obtaining disk information are 47H 
and 4EH. Function 47H returns an 
ASCIIZ string containing the full path 
name of the current working directory 
(CWD) for a drive. This is effective 
when the current directory must be 
changed (using function 3BH) and later 
restored to its original state. Function 
4EH can be used to scan for a volume 
' label containing the disk volume name 
(DVN), disk creation date (DCD), and 


disk creation time (DCT). Function 11H 
performs much the same job as func¬ 
tion 4EH but requires the use of an 
extended file control block (FCB) and 
does not support path names. 

The DOS boot record can be read 
to obtain useful disk parameters, as 
shown in table 1. It is the first logical 
sector on a disk and can be read with 
the DOS absolute sector read interrupt 
25H. The format for the disk informa¬ 
tion in the boot record header is shown 
in figure 1 Unfortunately, this format 
was not supported on DOS versions 
prior to 2.0 and is only a “suggested 
standard” for version 2.0. For these rea¬ 
sons, a program should not assume the 
boot record contains valid disk informa¬ 
tion for systems other than IBM-sup- 
ported DOS, versions 2.0 and later. 

FUNCTION 32H 

The undocumented DOS function 32H 
provides a pointer to a useful table of 
disk parameters. While not mentioned 
in the Technical Reference , this function 
has been noted in at least one piece of 
documentation: Appendix A of the MS- 
DOS 2.0 user’s manual as implemented 
by Columbia Data Products contains a 
sample assembly program for reading 


118 


PC TECH JOURNAL 












PROBLEM: There’s just no easy way to move from one 
software program to another. 


THE SOFTLOGIC SOLUTION: Software Carousel 


Now you can keep up to 10 programs 
loaded and ready to run. 

Hard to believe, but some people are 
happy with just one kind of PC software. 
Well, this is not a product for them. 

But if you’re someone who 
depends on many packages, all 
the time—someone who’d use 
several programs at once if you 
could, well now you can. With 
Software Carousel. 

Why call it “Software 
Carousel”? 

In some ways, Software 
Carousel works like the slide 
projector you’re used to. You 
load a handful of pictures, view one at a 
time, then quickly switch to another. A 
simple idea, with powerful possibilities 
for computing. 

Here’s how it works. When you start 
Software Carousel, just tell it how much 
memory you have, load your software and 
go to work. 

Need to crunch numbers? Switch to your 
spreadsheet. Need your word processor? 
Don’t bother saving your spreadsheet file. 
Just whip over to your document and do 
your work. Snap back to your spreadsheet, 
and it’s just like you left it. 

With up to ten different programs at your 
fingertips, you’ll have instant access to your 
database, communications, spelling checker, 
spreadsheet, word processor, RAM resident 
utilities, languages, anything you like. 

Reach deep into expanded memory. 

This could be the best reason ever for 
owning an expanded memory card, like the 
Intel Above Board, AST RAMpage, or any 


card compatible with the L/I/M Extended 
Memory Standard. 

Software Carousel puts programs into 
this “high-end” memory for temporary 
storage when they’re not in use. And 

switches them back out when 
you want them. It’s fast, effic- 
ient, and easy. 

If you want, Software Car¬ 
ousel will even use your hard 
drive for swapping. Just allo¬ 
cate a portion for storage, and 
go to work. 

Sidekick, Superkey 
and Ready. All at the 
same time. 

You know what happens if 
you try loading two or more RAM resi¬ 
dent utilities at once. You 
get crashed keyboards, 
frozen screens, all kinds of 
interference between pro¬ 
grams fighting for control. 

With Software Carou¬ 
sel, you can have as many 
accessories and utilities on- 
tap as you want. Just load 
different ones in different 
Carousel partitions. Since 
they can’t see each other, 
they can’t fight. 

The easy way to 

maximize PC power. 

With all this power, you 
might think Software Car¬ 
ousel is complicated and 
difficult to use. Not so. Set 
it up once, and it will re¬ 
member forever. Better still, 

CIRCLE NO. 198 ON READER SERVICE CARD 


Carousel will look for the programs you 
use most often, and optimize them for the 
quickest access. 

You can spend a lot more money, and 
still not get the convenience and produc¬ 
tivity increase of Software Carousel. 

The way we see it, there are certain 
things you have the right to expect from 
your computer. Access to your software is 
one of them. And at our special introduc¬ 
tory priceof just$49.95* Software Carousel 
is the best way to get it. 

But hurry. This price won’t last long. 
Order today at 800-272-9900 (603-627' 
9900 in NH) or send the coupon below. 

Special combination pricing is available 
for the purchase of Software Carousel 
and other Soft Logic products, including 
Cubit, DoubleDOS and Disk Optimizer. 


,95* 


4^SoftwareCarouseP49 

YES! Send me_copies of Software Carousel at the 

special introductory price of just $49.95* 

Name- 

Company_ 

Address- 

City_ 


. State/Zip_ 


Check Enclosed □ 
Card # 

Signature- 


VISA □ MC □ AMEX □ 
Exp. Date 


SoftLogic Solutions, Inc. 
530 Chestnut Street 
Manchester, NH 03101 
800-272-9900 
(603-627-9900 inNH) 


SoftLogic 

SOLUTIONS 


Call today: 800-272-9900 



4X 

8X 

12X 

16X 

Word 

Star 


■ 



1-2-3 





BPI 






With Software Carousel 
running in RAM, you can 
load a program and retrieve 
a file up to 15 times faster. 
Test conducted on an IBM XT 


‘plus $5.00 shipping and handling. 
























PARAMETERS 



Because DOS function 32H is not documented, the format of this table could possi¬ 
bly change with a future release of DOS. The current working directory informa¬ 
tion is valid for DOS versions 2.0 and 2.1 only. 


Instant-C: 
The Fastest 
Interpreter for C 

Runs your programs 50 
to 500 times faster than 
any other C language 
interpreter. 

A ny C interpreter can save you compile 
Land link time when developing your 
programs. But only Instant-C saves 
your time by running your program at 
compiled-code speed. 

Fastest Development. A program 
that runs in one second when compiled 
with an optimizing compiler runs in 
two or three seconds with Instant-C 
Other interpreters will run the same 
program in two minutes. Or even ten 
minutes. Don’t trade slow compiling 
and linking for slow testing and debug¬ 
ging. Only Instant-C mil let you edit, 
lest, and debug at the fastest possible 
speeds. 

Fastest Testing. Instant-C immedi¬ 
ately executes any C expression, state¬ 
ment, or function call, and display the 
results. Learn C, or test your programs 
faster than ever before. 

Fastest Debugging. Instant-C gives 
you the best source-level debugger for 
C. Single-step by source statement, or 
set any number of conditional break¬ 
points throughout your program. Errors 
always show the source statements 
involved. Once you find the problem, 
test the correction in seconds. 

Fastest Programming. Instant-C 

can directly generate executable files, 
supports full K & R standard C, comes 
with complete library source, and works 
under PC-DOS, MS-DOS, or CP/M-86. 
Instant-C gives you working well- 
tested programs faster than any other 
programming tool. Satisfaction guar¬ 
anteed, or your money back in first 
31 days. Instant-C is $495. 

Rational 

Systems, Inc. 

P.O. Box 480 
Natick, MA 01760 
(617)653-6194 


the FAT, using 32H to determine the 
FAT’s size and location. 

Function 32H is called by execut¬ 
ing a DOS system request (interrupt 
21H) with the following parameters: 

• On entry 
AH = 32H 

DL = Drive number (A = 1, B = 2, ... 
0 = current default drive) 

• On exit 

DS:BX = address of table of param¬ 
eters for drive 
AL = FFH if drive is invalid 
Note that assembly language programs 
calling this function should preserve the 
value of the DS register because the 
function changes DS to point to a DOS 
work area. Function 32H is supported 
in DOS versions 2.0 through 3-1 and 
may be supported in future versions. 
Nevertheless, good programming prac¬ 
tice dictates checking the DOS version 
(via function 30) in any program that 
uses this function. 

CHKDSK, RECOVER, and possibly 
other DOS utilities use function 32H to 


determine the size and location of the 
FAT and the root directory, as well as 
other useful information. The format of 
the table pointed to by DS.BX is shown 
in figure 3. The size and meaning of 
each element in this data structure were 
deduced from the way these parameters 
are used by CHKDSK and RECOVER 
and from observation of results on a 
variety of drives and disk formats. 

For the most part, the data items 
shown in figure 3 correspond to those 
described earlier in this article. Some 
are offset by plus or minus one. Those 
not described earlier are the following: 
AD (assigned disk). This byte indicates 
the original mapping between the logi¬ 
cal drive number specified in the call to 
function 32H and the disk identifier 
(A = 0, B = 1, ...). The value differs 
from the drive that is specified in the 
32H call if the drive identifier is reas¬ 
signed with the DOS ASSIGN command 
prior to the execution of 32H. 

Alt_AD. The Alt_AD byte appears 
always to have the same value as the 


CIRCLE NO. 181 ON READER SERVICE CARD 
120 


PC TECH JOURNAL 


































W |- . r„n 


PROBLEM: Handling your need for more megabytes, 
without spending megabucks on a new drive. 

THE SOFTLOGIC SOLUTION: Cubit™ 


Now get up to twice the capacity from 
all your storage media. 

You know what happens. The more you use 
your computer, the more information you 
create. And the faster you fill up your disk. 

The 10MB drive that once seemed enor- 
mous is now jammed with important 
files. That 20MB that should have 
lasted years is crowded in a 
matter of months. 

Of course you could keep 
buying bigger hard drives. 

Or you could get Cubit and 
get the maximum storage 
space from the drives you 
already have. 

What is Cubit? 

In brief, Cubit is an advanced software tool 
that automatically reduces the number of 
bytes required to store a file, then converts the 
file back to its original size when retrieved. 
Some programmers call this effect “data 
compression,” others, “disk expansion.” Either 
way, the result is the same. 

Here’s how it works. When Cubit com' 
presses a file, it first compares each word to its 
massive English word dictionary. Words that 
match are reduced to a predetermined code of 
just one, two or three bytes each. It then saves 
the abbreviated version to disk. Decompres' 
sion works just the opposite. 

To accommodate other words and symbols, 
Cubit uses two more compression techniques. 
One assigns new, shorter codes to unusual 
words. Another compresses according to the 
frequency of character strings in non-text data. 
So no matter what kind of files you create, 
Cubit ensures maximum space savings. 

Best of all, you’ll be using the same fast, 
reliable data compression techniques used 
on mainframe computers for decades. 


How much disk space will you save? 

Because the vast majority of data created 
on PC’s is standard ASCII text—letters, 

numbers and other English 
language symbols—we’ve 
optimized Cubit for word 
processing and database 
files. With these, you’ll get a 
minimum of 50% expansion on 
up to a full 100% or more. 

At the same time, you can 
expect a significant 30% to 
50% improvement with 
other kinds of data. Including 
spreadsheet files, program code, 
graph and image files, even binary 
data. 

And Cubit works just as well 
with floppies and tape cassettes as it 
does with hard disk drives. 

Run Cubit where you want, 
when you want. 

Maybe you’ll want to use Cubit 
for all your files, or maybe just 
some. So Cubit lets you specify 
exactly which files to work on 
and which ones to leave alone. 

In RAM resident mode, 

Cubit works quickly and 
invisibly, compressing and 
decompressing right from 
within any program you run. 

Or use Cubit’s powerful file 
management mode. It supports 
wild-card and global file names, 
and addresses sub-directories 
up to thirty levels deep. 

Save time and money, as well 
as disk space. 

A compressed file is a smaller 
file. So with Cubit, back-ups 


take less time, as well as less space. And 
communicating compressed files means 
significant savings on phone line charges. 

Any way you look at it, Cubit will pay for 
itself in no time. And that’s especially true now. 

Special limited time offer. 

Buy Cubit now and you’ll save even more. 
Because for a limited time, you can buy Cubit 
at the special introductory price of just $49.95? 
But hurry. This special price won’t last long. 

Ask for Cubit at your computer dealer. Or 
order directly from SoftLogic Solutions by 
calling 800-272-9900 (603-627-9900 in NH), 
or mail in the coupon below. 

Special pricing is available when you buy 
Cubit along with other SoftLogic products 
including DoubleDOS, Software Carousel 
and Disk Optimizer. Ask for details. 


# Cubit™ *49 95 ‘ 

YES! Please send me-copies of Cubit at this special 

introductory price. 


Company 


Address 


City 

State/Zip 

Check Enclosed □ 

VISA □ MC □ AMEX □ 

Card # 

Exp. Date 

Signature 



SoftLogic Solutions, Inc. 
530 Chestnut Street 
Manchester, NH 03101 
800-272-9900 
(603-627-9900 in NH) 


SoftLogic 

SOLUTIONS 


Call today :800-272-9900 



Spreadsheet Binary Text 

files files files 


With Cubit, you’ll get as much as 100% 
compression on data files, effectively 
doubling the storage capacity of all your 
magnetic media. 


CIRCLE NO. 199 ON READER SERVICE CARD 


‘plus $5.00 shipping and handling. 

























PARAMETERS 


assigned disk, except for RAM disks 
where it always has a value of 0. 

*NXT. This is a far pointer (offset and 
segment) to the next disk device table 
in the chain. If the low word of *NXT is 
FFFFH, the drive is the last in the chain. 
Ccwd. This entry is present only in DOS 
2.0. It can have three different values. If 
the current subdirectory for the target 
drive is the root, Ccwd is 0. If the cur¬ 
rent subdirectory for the target drive is 
not the root, then Ccwd usually con¬ 
tains the starting cluster for this direc¬ 
tory. Ccwd is sometimes set to FFFFH. 


The circumstances under which this 
happens are not documented. 

Cwd. Like Ccwd, this entry exists only 
in DOS 2.0. If the value of Ccwd is not 
FFFFH, then Cwd contains a null-termi¬ 
nated string representing the current 
working directory (CWD). 

These last two fields are presented 
only for the sake of completeness, as 
they are not present in DOS 3.x. They 
are more easily obtained through DOS 
function call 47H. 

Function 32H provides most of the 
same information as the DOS boot rec- 


NOVELL COMPATIBLE 


ONE-STOP ARCnef 
LAN SOLUTIONS 


Now you can get all the tools you 
need to build industry standard 
TOKEN-PASSING networks from 
one source. 

InterContinental Micro. 

Our networking packages let you 
configure any combination of nodes 
(PC s and compatibles, ATs, XTs, Jrs., 
Z-100 s) to a common Fileserver in just 
a few minutes with our menu-driven 
installation program. 

Active and passive hubs allow you 
to integrate up to 255 users on a single 
network with increased efficiency as 
the network grows. 

In addition, our stand-alone ARCnet™ 
Workstation/Fiieserver and complete line 
of S-100 Bus products (single board com¬ 
puters, slaves and controllers) give you 
and your customers even more options. 


We’re also compatible with other 
industry-leading ARCnet PC™ and S-100 
products, and our PC networking 
boards include an optional 256K of 
system RAM. 

All with InterContinental Micro’s 
reputation for outstanding reliability, 
exceptional service, and highly com¬ 
petitive pricing. 

Call InterContinental Micro today, 
or circle the bingo number below for 
ARCnet™ LAN solutions. 


intercontinental 

Micro 


4015 Leaverton Court, Anaheim, CA 

92807; Phone: (714) 630-0964 

Telex: 821375 SUPPORT UD: Easylink: 62562040. 


ARCnet is a trademark of Datapoint Corporation. Call for GSA pricing. 



CIRCLE NO. 117 ON READER SERVICE CARD 


ord but overcomes one disadvantage: 
the boot record cannot always be 
counted on to have the proper format. 
Although undocumented, function 32H 
is used by Microsoft utilities and is 
supported in versions 2.0 through 3.1, 
which covers most of the DOS installa¬ 
tions that are in use today. 


MASTER BOOT RECORD 

Another source of disk information is 
the master boot record, which is a one- 
sector record maintained on hard disks 
that are capable of being partitioned. It 
is located on the first physical sector of 
the disk (track 0, head 0, sector 1) and 
is readable only via BIOS call 13H. On 
the PC/XT and PC/AT the following pro¬ 
gram, entered via DEBUG, can be used 
to read the master boot record from 
drive C: into address CS:200: 


movax,0201 

mov dl,0 
or dl,80 
xor dh,dh 
mov cx, 1 
mov bx,200 
pushes 
pop es 
int 13 


;2 = command for read 
;1 sector 

;select first disk (C:) 

;8th bit indicates hard disk 
;head 0 

;track 0; sector 1 
;buffer address 

;read into es:bx 
; call BIOS 


The DEBUG command D ES:200 
L 200 can then be used to display the 
512 bytes of data. The layout of the 
master boot record is defined in the 
DOS Technical Reference in the section 
describing hard-disk support. 

As shown in the example above, 
IBM starts numbering hard disks at 128 
(the eighth bit is set to indicate a hard 
disk). Not all BIOS implementations use 
the eighth bit to indicate a hard disk, 
however. The BIOS that is used by 
Columbia Data Products, for example, 
simply reserves disks 0 through 3 for 
floppy-disk drives, and 4 and up for 
hard disks. Machines that are not 
PC-compatible may use totally different 
schemes (including different BIOS in¬ 
terrupt vectors) for performing absolute 
track and sector reads. 

The final category of disk informa¬ 
tion described in table 1 is that obtaina¬ 
ble only by searching the FAT. The 
computation of disk bad space (DBS) 
requires that the FAT be searched for 
the appropriate “locked-out cluster” 
entry (FF7H for 12-bit FATs; FFF7H for 
16-bit FATs). Disk used space (DUS) can 
then be calculated either as: 


DUS = TCC - DFS - DBS 

or by counting the FAT entries that are 
equal to neither 0 (indicating that they 
are unused) nor the locked-out value. 


122 


PC TECH JOURNAL 
















Turbo, who? 

Do you have to give up power and advanced potential 
to get ease of use and affordability? Not anymore. 
Because now, you can have UCSD Pascal for only $79.95! 


If you’re making your move into 
programming, there’s no better way 
to go than Pascal. And starting now, 
you don't have to settle for 
a stripped-down 
version of Pascal 
in order to get a price 
that’s right. Instead, 
you can choose UCSD Pascal-the 
recognized Pascal programming 
standard in colleges and uni¬ 
versities throughout the 
country-at the incredibly 
low introductory price 
of $79.95 for your 
PC-DOS, MS-DOS, or 
other popular computer. 

Start with the standard 

With an entry-level system, 
you spend a lot of valuable 
time learning a non-standard 
form of Pascal. And you 
don’t get all the capabilities a true 
Pascal system is supposed to 
deliver-unless you buy a lot of 
add-on utilities-which can send 
the cost of your system sky-high! 
Worst of all, when you’re ready 
to tackle anything more than short, 
simple programs-you have no 
choice but to move up to a more 
sophisticated system (like UCSD 
Pascal). And at that point, you also 
have to relearn standard Pascal. 

UCSD Pascal 

has evarything you need 

With UCSD Pascal, you get a 



15f! 



full-featured, 
professional programming tool that’s 
being used right now in the 
development of major scientific and 
business applications. The system 
comes with an outstanding text 
editor, a complete on-line tutorial, 
8087 math coprocessor support and 
BCD (decimal arithmetic) included in 
the package at no extra cost. In fact, 
UCSD Pascal contains 
virtually everything you 
need-as standard 
equipment-for devel¬ 
oping the simplest 
to the most 


I programs. 

UCSD Pascal is available for 
MS-DOS, PC-DOS, UNIX, VMS, 

MSX and many other operating 
systems. You can use UCSD Pascal 
to write programs of any size on 
virtually any computer, and port 
them to any other computer. And if 
speed is what you’re after, the latest 
native code version of UCSD Pascal 
actually benchmarks favorably 
with Turbo Pascal® in 
execution timel ^ * 


Programming that’s easy 
...and fun! 

At Pecan Software Systems, we 
strongly believe programming 
should be as easy as possible. 
Pascal was originally designed 
for teaching programming 
skills, so it’s extremely 
easy to learn and to use. 
With UCSD Pascal, you’ll 
be developing programs right 
from the start that are 
easy to write, easy to 
understand, and easy to 
maintain. We also believe 
that programming should 
be fun. So we’ve made UCSD Pascal 
as enjoyable to use as it is powerful. 

The right tool at the 
right price 

When the fun gets serious, you’ll 
have a comprehensive programming 
system right at your fingertips with 
UCSD Pascal-a system that will 
help you develop those big-league 
programs you may eventually want 
to write-at a price you can readily 
afford. 

Put UCSD Pascal programming 
power on your PC now for only 
$79.95! Order by mall today or phone 
now 1-800-63-PECAN. UCSD Pascal 
-the original standard of Pascal pro¬ 
gramming excellence. The new 
leader in Pascal price/ 
performance. ^ 


OCSO^ed 
t coP* **£»«'** 


The UCSD Pascal Company i 

Pecan Software Systems, Inc . 

1410 39th Street, Brooklyn, NY 11218 I 
718-851-3100 



60 


.aa* 


1 


Commodore 
Electronics 
LTD, 

APPLE & 

MACINTOSH are 
trademarks of g 

Apple Computer. vj 

ATARI 520 is a * 

trademark of Atari i 

Corporation. 

RAINBOW is a 
trademark of Digital 
Equipment Corporation. 
TANDY is a trade¬ 
mark of Radio Shack. 
Turbo Pascal is a 
registered trademark 
of Borland International 




, SMS*** 


«'° noV ' PlS# ><*s*£ 








i 

\ 


Hart® 

sviw^ 


1 






l( (lW 





. an old® 1 ' 


\Jf\A ^ 


UCSD Pascal is a registered trademark of The Regents of University of California 








art 


PCT 


CIRCLE NO. 180 ON READER SERVICE CARD 


















The problem 
with most 4GLs is 
they’re finished 
before you are. 

And where does that leave you? 

With the final, tricky ten percent of 
your application yet to write, and no 4GL 
left to write it with. 

Introducing INFORMIX-4GL. 

Never again will you have to switch 
to C or COBOL to truly customize your 
application. Instead, INFORMIX-4GL 
provides an all encompassing syntax for 
every aspect of your application building. 

So once you’re programming in 
INFORMIX-4GL, you never have to leave 
it. And considering all it can do, you may 
never want to. 

Now, for instance, you can write in just 
ten to twenty pages of 4GL code, applica¬ 


tions that would take hundreds of 
pages with C. 

That’s because INFORMIX- 
4GL was designed from the 
start to be an application 
building language. It’s built 
around the full implementation 
of ANSI Standard SQL. And fea¬ 
tures Custom Screen Generation, 

, Custom Menu Building and a built- 
in Report Writer. 

What’s more, INFORMIX-4GL works 
with UNIX;MS™-DOS and Networked DOS 
operating systems. And, of course, it’s 
compatible with INFORMIX-SQL—our 
popular, proven DBMS. So files you build 
with one, you can access with the other. 

Fbr more information and our free 
booklet,“A 20-Minute Guide to INFORMIX- 
4GL”call 415/322-4100. 

Or write RDS, 4100 Bohannon Drive, 
Menlo Park, CA 94025. 

And start taking your applications to 
even greater heights. 


INFORMIX is a registered trademark of RDS. Other names identified by TM are 
tradenames and/or trademarks of their respective manufacturers. 

© 1986, Relational Database Systems, Inc. 



RELATIONAL DATABASE SYSTEMS, INC. 


CIRCLE NO. 143 ON READER SERVICE CARD 





PARAMETERS 


USEFUL UTILITIES 

Two system utilities that can be used to 
explore DOS disk parameters and di¬ 
rectories are presented here. INFO 
prints out a table of information about a 
drive; SHOW is an enhanced directory 
similar to the DOS DIR command. 

These programs are written in 
Microsoft C, version 3.0, with one 
exception: the absolute sector read 
function shown in listing 1 is written in 
assembly language as a subroutine 
designed to be called from C. It can be 
used to read one or more sectors from 
any DOS disk. The routine takes four 
arguments: a drive identifier (0 for A:, 1 
for B:, etc.); the number of sectors to 
be read; the beginning logical sector; 
and the address of a buffer area in 
which to store the data. 

DOS interrupt 25H is used in this 
routine. It behaves differently from 
most interrupts in that it deliberately 
leaves original copies of the processor 
flags on the stack. This is done so that 
return information may be passed back 
using the flags. However, this scheme 
prevents the use of Microsoft C’s 
int86x() function for performing inter¬ 
rupt 25H. This is why assembly lan¬ 
guage was used for this portion of these 
programs. In this implementation the 
stack pointer is corrected by two 
INC SP instructions after the interrupt 
call to throw away the saved flag values. 

Sector numbers are specified using 
a logical view of the disk. Logical sector 
numbers begin with 0 and are obtained 
by starting with physical track 0, head 0, 
sector 1 (physical sectors are numbered 
from 1 by convention) and increment¬ 
ing sector numbers within a track until 
it is full. Once the track is full, the head 
number is incremented; only after all 
heads on the physical disk have been 
accessed can the track number be in¬ 
cremented. This logical arrangement 
minimizes head movement from track 
to track, which is the most time-con¬ 
suming physical operation that the drive 
must undertake. 

As an example, on a standard 
360KB floppy disk, logical sectors 0 
through 8 are on side 0 track 0, logical 
sectors 9 through 17 are on side 1 track 
0, logical sectors 18 through 26 are on 
side 0 track 1, and so on. 

Sectors within a track are incre¬ 
mented sequentially, but the physical 
arrangement of sectors within the track 
is not adjacent. This arrangement is a 
consequence of the interleaving of 
sectors, again to maximize speed of ac¬ 
cess to a given sector, taking the rota¬ 
tion of the disk into account. Interleav¬ 
ing considerations are completely invisi- 


MAY1986 


ble to driver software once an inter¬ 
leave factor has been set. 

This description of physical to logi¬ 
cal sector mapping may not hold for 
hard disks. In particular, it will not hold 
for bootable hard disks that maintain a 
partition table. Such disks store a 
master boot record on the first sector 
of the disk. This record contains the 
partition table as well as code to locate 
and pass control to a bootable partition. 
In addition to the master boot record, 
one or more partitions may be stored 
on the disk prior to the partition con¬ 


taining the specified DOS drive. The 
sizes of these prior partitions must be 
added to the offset from the first physi¬ 
cal sector to obtain a true logical-to- 
physical mapping of sectors. 

The INFO utility (listing 2) is 
invoked with the following command 

info [d:] 

in which d is an optional drive specifi¬ 
cation. If d is omitted, the current de¬ 
fault drive is assumed. 

A sample of the output from INFO 
is shown in figure 4. It includes the vol- 



Suftuan.* dc»i#iul 
ii.riit.Mr': 


Lattice . 

SecretDisk 




SecretDisk 


It keeps your personal computer personal 


Thanks to SecretDisk, your programs and data can be com¬ 
pletely protected from unauthorized access. And best 
of all, when you want to use those secured files, just enter 
the password and they’re instantly available. 

SecretDisk works right along side of your other software 
by creating virtual disk drives that are automatically and 
completely encryted. And for just $ 59.95 you’ll come 
away with peace of mind knowing that an intruder won’t 

come away with a piece 
-I-of information. 


Lattice 


To place your order: 
Lattice, Incorporated 
Post Office Box 3072 
Glen Ellyn, Illinois 60138 
312-858-7950 
TWX 910-291-2190 


CIRCLE NO. 160 ON READER SERVICE CARD 


125 

















PARAMETERS 


FIGURE 4: Sample Output from INFO.EXE 


*** Information for Disk 

C: *** 




Volune GLENNS_DISK created Dec 8, 1985 5:46p 



OEM name : IBM 3.1 

Media descriptor (hex): f8 



Volume has 4 Surfaces, 

305 Tracks with 

17 Sectors/Track 


Sector size is 512 bytes. FAT entries are 12 bits 



Cluster size is 4096 bytes (8 sectors) 




Usage: 

Sectors 

Bytes Clusters 


Hidden from DOS | 

3 1 

1536 | 


1 

DOS Boot Area 

1 1 

512 | 


1 

File Allocation Table | 

16 | 

8192 | 



Root Directory | 

32 | 

16384 | 


1 

Files & Subdirectories | 

14688 | 

7520256 | 

1836 

1 

Locked Out | 

o 1 

0 1 

0 

1 

Available 

6000 | 

3072000 | 

750 

1 


TOTAL | 

20740 | 

10618880 | 

2586 

1 

The disk 

is 70% full 





INFO tests the OEM field for validity and omits boot record 
information if the field contains nonprintable characters. 
Right: The example invocation command is SHOW *.BAK A: 
Noncontiguous cluster chains are indicated by cluster num¬ 
ber lists printed on more than one line. 


FIGURE 5: Sample Output from SIIOWEXE 


Volume in Drive C is GLENNS_DISK 
Directory of C:\WORK 


Filename Ext 

Bytes 

Actual 

Last Modified 

Flag 

Clusters 

LC 

BAK 

170 

4096 

Sep 17, 1985 

1:32p 

a 

[16f] 

TEST 

BAK 

822 

4096 

Jan 8, 1986 

9:29p 

a 

[751] 

SHOWFAT 

BAK 

3142 

4096 

Oct 5, 1985 

8:16p 

a 

[23c] 

SH0WFAT3 

BAK 

4949 

8192 

Oct 16, 1985 

8:29a 

a 

[242]-[243] 

INFO 

BAK 

8064 

8192 

Feb 5, 1986 

11:34a 

a 

[73f] 

[745] 

GETID 

BAK 

3329 

4096 

Jan 5, 1986 

12:18p 

a 

[6f5] 

DOSFNS 

BAK 

5044 

8192 

Jan 23, 1986 

10:01a 

a 

[255] 

[51e] 

CTRANS 

BAK 

515 

4096 

Jan 9, 1986 

9:12a 

a 

[877] 

INF04 

BAK 

8424 

12288 

Jan 13, 1986 

1 slip 

a 

[729]-[72a] 

[72e] 

SHOW 

BAK 

10022 

12288 

Feb 5, 1986 

12:51 p 

a 

[76f] - [771] 

TOTALS 


44481 

69632 






10 Files, 7 Contiguous, 3 Noncontiguous 
Files use 17 clusters a 4096 bytes/cluster 
3067904 bytes free 

Files would require 49152 bytes on drive A 
267264 bytes free on drive A 


ume name assigned to the disk when it 
was formatted, the time and date the 
disk was formatted, the contents of the 
OEM field in the boot record, the me¬ 
dia descriptor byte, the number of re¬ 
cording surfaces (heads) in the drive 
and number of tracks and sectors per 
track, the physical sector size in bytes, 
the size of FAT entries, and the cluster 
size. The head, track, sector, and OEM 
items are printed only if the disk’s boot 
record follows the format in figure 1. 
The volume name, time, and date are 
printed only if a volume name entry is 
in the root directory. 

In addition, a table of disk usage is 
printed. For each of seven types of 
usage the space allotted is given in 
bytes, sectors, and (where meaningful) 
clusters. The amount of space reserved 
is listed for the following: 

• Sectors not available—Sectors that 
cannot be allocated to any file 
because they are too few to form a 
single cluster. 

• DOS boot area—The amount of space 
reserved for the DOS boot record, 
typically one sector. 

• File allocation table—The amount of 
space reserved for storage of the 
FAT(s) maintained on the disk. 

• Root directory—The amount of space 
that is reserved for the storage of the 
root directory. 

• Files and subdirectories—The amount 
of space used by all files and sub¬ 
directories, including hidden and sys- 
tem files not displayed by the DIR 
command and sectors used by the 


subdirectories themselves, a number 
not included in the output from DIR. 

• Bad sectors—The amount of space 
locked out by DOS because of prob¬ 
lems encountered with the media. If 
one sector is bad in an area of a disk, 
the entire cluster associated with that 
sector must be locked out. 

• Available—-The amount of space avail¬ 
able for allocation to files and/or sub¬ 
directories. 

For the sector and byte counts, the 
value shown is the sum of the entries 
above it in the table, and it reflects the 
total space in the logical image. For the 
cluster count, the total is also the sum 
of the entries above it, but it reflects 
only the number of clusters usable for 
file/subdirectory space (and locked-out 
clusters), not the total space on the 
disk. (In other words, it is not equal to 
the total number of sectors divided by 
the number of sectors per cluster.) 

The last piece of information dis¬ 
played by INFO is the percentage of the 
disk that is in use. This is calculated as 
the ratio of the number of clusters in 
files plus the number of locked-out 
clusters divided by the total number of 
clusters on the disk. 

If the drive specified on the com¬ 
mand line is mapped into another phys¬ 
ical drive (via the DOS ASSIGN com¬ 
mand), the first line of the output from 
INFO is appended with the message 

(Assigned to drive x:) 

where x: is replaced with the physical 
drive identifier for the target drive. 


INFO uses two include files named 
STRUCTS.H and DOSFNS.H, which are 
shown in listings 3 and 4, respectively. 
STRUCTS.H contains most of the impor¬ 
tant data structures used by the pro¬ 
gram. DOSFNS.H contains a number of 
useful functions to perform DOS-related 
activities. Many of these use the inter¬ 
rupt-calling facilities provided in Micro¬ 
soft C and are in that sense not trans¬ 
portable to other compilers. These con¬ 
ventions are similar to those used in 
other C implementations, however, and 
should be easy to convert. 

One useful feature of Microsoft C, 
not currently supported by many other 
compilers, is the implementation of a 
far pointer type. A far pointer, which is 
a 32-bit data item consisting of a seg¬ 
ment and offset, is particularly useful in 
implementing the get__table( ) function 
shown in listing 4. Get_table() returns 
a far pointer that is simply the DS:BX 
pointer obtained from DOS function 
32H. This pointer can then be used as 
would any other pointer (using C’s -> 
construct) in referencing elements in 
the table. The details of segment man¬ 
agement are all handled by the com¬ 
piler. Implementation of get_table( ) 
using compilers that do not have a far 
pointer type would be most easily 
accomplished by making a local copy 
of the table and returning a standard 
(near) pointer to it. 

Another noteworthy timesaver used 
in DOSFNS.H and STRUCTS.H is C’s bit 
field capability. This is used to define 
the packed bit fields in the DOS time 


126 


PC TECH JOURNAL 





















Get up to speed 
for under 
a hundred bucks* 


If you’re writing in the BASIC that 
came with your IBM® PC, now you 
can make your programs scream. 
Microsoft’s new QuickBASIC Com- 
piler will punch you right into warp 
speed, accelerating your programs by 
as much as ten times. And all with 
hardly any code changes. 

You get all this at a price that won’t 
slow you down, either. Just $99 and 
you’re in. 

The new QuickBASIC Compiler 
was designed to work with the 


j S. : y \ . ' 


GRAPHICS 

STRUCTURE 

a j Music Inc. 


. 7 V / Sales '85 

Start: 

/ V _ 

GOSUB init 

j - n Sales ' 84 

mm "U5R5” 

/ — Expenses 

WHILE i<nax 

l 

PL«¥ "ABC” 
i = i i 

MUSIC 

mm 

, . 

END 

Init: 

CLS 

wax = 3393 


RETURN 



programs you’ve already written. It 
supports all BASIC sound and graphic 
statements including PLAY SOUND, 
LOCATE, DRAW GET, PUT, LINE, 


CIRCLE, PSET, and COLOR. 

So your graphics and music routines 
will look and sound as they should. 

And when you’re ready to move 
into structured programming, Quick¬ 
BASIC also offers language extensions 
for a speedy transition. With optional 
alphanumeric labels you can make 
your programs more readable. And 
compiled subprograms will save 
you time. 


So get moving. MICROSOFT. 

V_>clU US HOW iOr The High Performance Software™ 

more information on the QuickBASIC 
Compiler and the name of your 
nearest Microsoft dealer. Just ring 
(800) 426-9400. In Washington State 
and Alaska, (206) 882-8088. In Canada, 
call (416) 673-7638. 

Then go give your programs a 
swift kick. 



Microsoft is a registered trademark and The High Performance Software is a trademark of Microsoft Corporation. 
IBM is a registered trademark of International Business Machines Corporation. 




There’s only one winning card 
in the PC Acceleration Game. 



The 286 Express Card™ from PC Technologies 


The 286 Express Card™ is unlike any other PC accelerator board. Why? Because 
it not only gives you all the advantages of a high-performance accelerator, but it 
also happens to be the original half-slot card. With a price tag too good to believe. 

The design of the 286 Express Card is based on Intel’s 80286 microprocessor — 
arguably the fastest VLSI processor in the industry. Designed specifically for the 
IBM PC and XT, the 286 Express is compatible with existing RAM, communication 
and peripheral cards, as well as most popular PC DOS software — with no software 
overlays or modifications required. 

The 286 Express Card is loaded with value-added features, including 8KB of 
cache memory. DMA compatibility. The ability to use the memory on your 
motherboard and add-on memory cards. An optional 80287 floating point 
co-processor that works to accelerate the latest versions of spreadsheet and 
database software. And enough power to speed up your software programs — 
custom or off-the-shelf— anywhere from 200% to 600%. 



704 Airport Blvd. 

Ann Arbor, Michigan 48104 
313/996-9690 • 800/821-3086 
Telex 503589 


Why gamble with PC productivity? To order — or for the name of the dealer 
nearest you — call PC Technologies today at 800/821-3086 ext. 102. And let us 
deal you the winning card. 



IBM, IBM PC and XT are registered 
trademarks of International Business 
Machines Corporation. 


PC Technologies Inc. 



CIRCLE NO. 241 ON READER SERVICE CARD 






PARAMETERS 


and date structures (ms_time and 
ms_date). The unpacking and masking 
of the appropriate hours, minutes, day, 
month, and year elements are handled 
automatically by C. 

The structure and function of INFO 
are fairly straightforward. The program 
first verifies that the DOS version is be¬ 
tween 2.0 and 3.1. This is done using 
the global variables _osmajor and 
_osminor provided by the Microsoft C 
compiler, but could have been done as 
well using DOS function 30 to retrieve 
the major and minor version numbers. 

INFO next checks for a supplied 
parameter and, if found, parses it for a 
valid drive specification. If the drive is 
valid, the drive’s disk table is retrieved 
using the routine get_table(), and the 
first sector on the drive is read into the 
dynamically allocated structure bpb 
using the absread() routine (listing 1). 

The three segments of program 
output are handled by the routines 
print_vol( ), print__info( ), and 
print_tbl(). Print_vol() uses the value 
of AD to determine if the drive has 
been reassigned. If so, the reassigned 
drive ID is displayed. Print_vol() next 
searches the target disk for a valid vol¬ 
ume label entry in the root directory. If 
one is found, the time and date fields 
for the entry are converted to ASCII 
strings and displayed along with the 
volume name. If no volume name entry 
is found, the message “Volume has no 
label” is displayed. 

Print_info( ) displays general infor¬ 
mation about the drive, most of which 
is obtained from the disk table (tbl). It 
determines whether or not the informa¬ 
tion in the boot record (bpb) is usable 
by seeing if OEM contains only print¬ 
able characters. If not, then the boot 
record format probably does not follow 
the DOS format, and thus the OEM 
name and track and sector information 
in the boot record are assumed to be 
invalid and are not displayed. 

Print__tbl() displays the usage sum¬ 
mary table and corresponding totals 
along with the percentage of disk use. 
Information on hidden sectors is in¬ 
cluded only if the boot record informa¬ 
tion is determined to be valid (again, 
the criterion is whether or not the OEM 
field contains printable ASCII charac¬ 
ters). The sizes of the boot area, FAT, 
and root directory are determined from 
the disk table (tbl). Statistics on used, 
available, and locked-out clusters are 
then computed from the FAT. The rou¬ 
tine scan_fat() is used to scan the FAT 
for the appropriate entries. 

SHOW, the second program pre¬ 
sented here, is an enhanced directory 

MAY 1986 


utility that functions in a manner similar 
to the DOS DIR command 

show [d:filename.ext [a:]] 

where all or part of the file specifica¬ 
tion may be omitted. If the drive speci¬ 
fication d: is not given, the current 
default drive is assumed. If no file name 
is given, *.* is assumed. 

The optional second parameter can 
be used to specify an alternate drive for 
the files. If this second parameter is 
given, SHOW will print out the amount 
of space the displayed files would occu¬ 
py on this alternate drive as well as the 
actual space available on the drive. This 
is useful for determining if a set of files 
will fit on a floppy disk. 

The output of SHOW is similar to 
the output of DIR; however, some addi¬ 
tional pieces of information are in¬ 
cluded. A sample of the output from 
SHOW is shown in figure 3. 

In addition to the file size from the 
directory, the number of bytes allocated 
to the file is also displayed. In the out¬ 
put in figure 5, the file CTRANS.BAK is 
313 bytes long, but 4,096 bytes (one 
cluster) are allocated to it for storage. 
SHOW also displays the attribute bits 
for the file and (unlike the DOS DIR 
command) lists system and hidden files. 
The attributes are coded as follows: 
a = Archive. This bit is set if the file has 
been changed since it was last backed 
up using BACKUP (or any other utility 
that clears the archive bit), 
h = Hidden file. Files with this bit set 
are not normally processed by DOS 
commands such as DIR and COPY, 
s = System file. These files are reserved 
for DOS use and may have to reside in 
certain fixed locations on the disk, 
r = Read-only file. Files with this bit set 
cannot be opened for write access. 

Also included for each file is the 
chaining of clusters as computed from 
the FAT. This chaining is displayed as a 
sequence of one or more cluster num¬ 
bers in hexadecimal format enclosed in 
square brackets. If a gap exists in the 
chain, the file is noncontiguous—that is, 
the file’s allocated space is split across 
two or more noncontiguous locations 
on die disk. This can have a pro¬ 
nounced effect on system performance, 
particularly in realtime applications in 
which disk response time is critical. 
SHOW indicates file discontinuities by 
starting a new line for the file’s output. 

In the example shown in figure 5, the 
file INF04.BAK uses three clusters start¬ 
ing with the two contiguous clusters at 
729H and 72AH and finishing with clus¬ 
ter 72EH. A gap exists between the first 
two clusters and the last one. 


Does YOUR disk Look Like 


THIS? 



Let 


H.D.Tuneup 

cleanup your act! 

H.D. Tuneup tunes your disk file 
system, making it better than new. 
File loads speed along like new., 
Directory searches are faster than 
new. 

H.D. Tuneup reallocates all of your 
files to be contiguous. Each file is 
placed in its proper location, 
adjacent to it's neighbors in the 
directory. 

Disk operations run faster when 
your files have been Tuned. 

H.D. Tuneup relocates your sub¬ 
directories into one area of your 
disk, as close to the root as possible. 
All deleted entries are actually 
removed. 

Your drive head moves less from 
directory to directory than when 
your disk was new. TREE/F will fly 
when listing all of your files. 

H.D. Tuneup requires IBM 
PC/XT/AT compatability, 196k, and 
DOS 2.x/3.x. Fixed disks up to 32mb 
may be tuned, along with any 5.25" 
diskette. 

NOT COPY PROTECTED! 
ONLY $39.95 plus $3.00 S/H 

SofCap Inc. 

P.O. Box 131 

Cedar Knolls, N.J. 07927 

Visa (201) 386-5876 M/C 

N.J. residents add 6% sales tax. 


For the best performance 
from your disk 
TUNE IT UP!! 



Visa, Master Card, Checks, Money Orders, or 
COD only. 


CIRCLE NO. 164 ON READER SERVICE CARD 

129 




















PARAMETERS 


When the file listing is complete, 
some summary information is printed, 
including the total number of files; the 
number of contiguous files; the number 
of noncontiguous files; the total number 
of bytes used by the files; the total num¬ 
ber of bytes allocated to the files (indic¬ 
ative of the true amount of space used 
by the files); and the number of bytes 
free on the disk. 

If the alternate drive parameter is 
specified, the output also shows the 
amount of space that the displayed files 
occupy on that drive. In at least three 
cases, this will not correspond to the 
amount of space required to copy the 
files to the alternate drive using the 
DOS COPY command: (1) if any of the 
displayed files are hidden or system 
files /which are not processed by 
COPY j, r 2) if any of the displayed files 
already exist on the alternate drive (in 
which case they are overwritten by the 
COPY command); (3) if the files are 
copied to a subdirectory on the alter¬ 
nate drive, and the subdirectory has to 
be expanded to hold the new entries. 

TTie source code for SHOW is 
given in listing 3. SHOW uses the same 
two include files as INFO, namely, 
STRUCTS.H and DOSFNS.H. 

SHOW first verifies that the DOS 
version is in the range 2.0 to 3.1. Next it 


parses the first and second command 
parameters, if they exist, in DOS ex¬ 
tended FCBs. The program then sets the 
appropriate bits in the FCB to request 
matches for hidden, archive, system, 
and read-only files, and passes control 
to the do_entry() routine, which pro¬ 
ceeds to perform the main processing 
and display functions. 

Note that because SHOW uses 
FCBs it is unable to process path 
names. Altering SHOW to support path 
names would involve the use of func¬ 
tions 4E and 4F in place of functions 
11 and 12 in the search_first() and 
search_next( ) routines. 

Do_entry( ) first gets the disk table 
for the target drive and (if one was 
specified) the alternate drive, using the 
get_table() routine. It next reads the 
FAT for the target drive. Do_entry( ) 
then looks for matching file entries in 
the target drive entry using the 
search_first() and search_next( ) rou¬ 
tines. If none is found, an appropriate 
message is printed; otherwise the infor¬ 
mation for each matched file is output. 

Output for each file consists of the 
file name and extension; the bytes in 
the file (as stored in the directory 
entry); the bytes actually used by the 
file (as computed from the FAT); the 
date and time the file was last modified; 


NETWORKS aoo<3 ra®BBo 
©C3E <3«(5[R5@ ISAM ©©US t?K]SK] MLCL2 


The creator of Access Manager™ brings you the [.«ppiM 

most powerful C source code, B+ Tree file handler: w"l#l CC 

• multi-key ISAM and low-level B+ Tree routines 

• complete C source code written to K&R standards 

• single-user, network and multi-tasking capabilities 

• fixed and variable record length data files 

• virtually opened files accommodate limited file descriptors 

• no royalties on application programs 


8395 COMPLETE 


Specify diskette format: 

• S'A" MS-DOS 

• 8" CP/M 

• 3'A" Mac 

• 8" RT-11 



For VISA, MC and COD orders 
call (314)445-6833 
FairCom 
2606 Johnson Drive 
Columbia, MO 65203 

© 1985 FairCom 


The following are trademarks: c-tree and the circular disk logo—FairCom; MS—Microsoft Inc.; 
CP/M and Access Manager—Digital Research Inc.; Unix—AT&T; Apple—Apple Computer Co. 


the flag settings; and the chaining of 
clusters. The printing of cluster chain¬ 
ing is performed by the routine 
do_chain(), which handles both 12- 
and 16-bit FAT entries properly. 

If an alternate drive specification is 
given when SHOW is invoked, the pro¬ 
gram keeps track of the amount of 
space the files would require on this 
alternate drive. This total is maintained 
in the variable alt_total, which repre¬ 
sents the number of clusters the files 
would require on the alternate drive. 
The amount of free space on the alter¬ 
nate drive can also be determined by 
using the function getdfs(). 

GOING FURTHER 

Other useful utilities might include pro¬ 
grams to display and edit the FAT and 
root directory; to recover (undelete) 
files; to compare the two FAT copies on 
a disk and replace one if it is damaged; 
to reorganize a disk that has become 
highly fragmented (that is, it contains 
many files that are noncontiguous). 

As is the case with system utilities, 
each of these proposed programs has 
its problems and challenges. The FAT 
copy program may be impossible to 
write because DOS, in part, uses the 
media descriptor byte stored in the FAT 
to identify the disk type, and hence the 
size of the FAT. If the first copy of the 
FAT is damaged, then determining the 
location and size of the second copy in 
a generalized way may be futile. File re¬ 
covery presents its own challenges be¬ 
cause it requires piecing together infor¬ 
mation on which free clusters were for¬ 
merly allocated to the deleted file. A 
disk reorganization program would re¬ 
quire careful algorithm design with an 
eye toward efficiency and the ability to 
recover from power loss or interrup¬ 
tion during recovery. 

Because both DOS and mass stor¬ 
age devices are continually evolving, the 
techniques and information fields 
described in this article are likely to 
evolve as well. Function 32H may be¬ 
come a supported function—or it may 
disappear completely. Manufacturers of 
compatibles may finally agree on a stan¬ 
dard format for the DOS boot record. 

As machines become more complex, 
standards grow more important, and 
understanding the machinery within 
DOS becomes essential to interpr eting 
and using those standards. ll 11 ”*] 


Glenn F. Roberts, Ph.D., is a member of the 
technical staff of the MITRE Corporation in 
McLean, Virginia. His current work involves 
development of software for realtime process¬ 
ing of aviation weather data. 


130 


CIRCLE NO. 119 ON READER SERVICE CARD 


PC TECH JOURNAL 












Read whal the experts say 
about the PC's Limited AT. 


“I have no qualms recom¬ 
mending this system to 
experienced users who 
need the added speed.” 

—Sol Libes, 
Micro/Systems Journal, 
January/February 1986 


“The PC’s Limited AT™ 
proved to be the functional 
equivalent to the IBM® 
product, only faster. Priced 
at roughly one-third less, 
it rates as one of the best 
bargains available.” 

—Winn L. Rosch, 
PC Magazine , 
February 25, 1986 


“If price is your primary 
consideration, skip both 
AT&T® andTI® and choose 
this issue’s best buy, the 
PC’s Limited AT™. Check 
its benchmark results— 
you won’t be sacrificing 
performance to save 
money.” 

—PC Magazine, 
Editor's Choice, 
February 25, 1986 


I's not enough to convince you, 
now we've got a 30-day money-back guarantee. 




80286-based System Unit (Runs at 6MHZ. 8MHZ option 
included at no extra charge.) 

• 1024K on Mother Board 
•1.2 Meg Floppy Drive 

• Combined Floppy/Hard Drive Controller Card 
• AT Keyboard 

• 192W Power Supply 

• 2 Serials and 1 Parallel Port 

• Clock/Calendar with Battery Backup 
• Operations Manual 

• One Year Limited Warranty 


$1995 


I’m Michael Dell, President of PC’s Limited. And I want you to know about your latest industry-leading step. We’re so sure 
that you’ll like everything about our PC’s Limited AT that we’re willing to offer you a 30-day money back guarantee on it. 
This machine, with 1024K on the Mother Board and an 8MHZ option included at no extra cost, has been a standout since 
we introduced it. So give us a chance to show you what it can do for your operation. With a deal like this, there’s no way 
you can lose. (And see the opposite side of this page for information about our T\irbo PC™, plus details on our guarantee.) 



18&L AHSu and Tl ate registered uxknnarfcts oi’ rhdr r^petrrive 


■V7 




















When a PC's Limited Turbo PC is on your 
desk, you'll think it's a headliner too. 


“ . . a good machine. And a 
heck of a buy. . . a fine 
box. One I’d happily 
choose over Big Blue’s 
original... no status. . . 
beyond the status that at¬ 
taches to getting twice as 
much for your money.” 

—Jim Seymour, 
PC Week , 
August 13, 1985 


“It almost sounds un¬ 
believable.” 

—MIS Week , 
August 21, 1985 


TOTAL SATISFACTION GUARANTEE 
WARRANTY 

For W»rr»nry Service: One year Limited Warranty on PC’. Limited product.. Contact 
Technical Support for a Return Authorization Number (RMA). Return, mutt be ac¬ 
companied by your RMA, the invoice, and a brief explanation. During the Warranty 
Period. PC’. Limited will repair or replace item, at our option. 

30-DAY TOTAL SATISFACTION GUARANTEE 

Any item bought from PC’. Limited may be returned within JO day. from the date 
it wax .hipped for a full refund of your pure haw price. Returned item, mu.t be ai- 
new, not modified or damaged, with all warranty card., manual., and packaging in¬ 
tact. Returned item, mu.t be .hipped prepaid and in.ured, and mutt bear a PC*. 
Limited Credit Return Authorization (CRA) on the .hipping label. Call PC. 
Limited’. Cu.tomer Support Department for CRA. No credit, blued after JO day. 
horn date of ihipmcnt. 

CONSUMER TIP 

When .hopping for PC product., a.k our competitor, about their refund poiiciet. 


“We tested a wide variety of 
software on the machine 
and everything ran well. . . 
The bottom line for any¬ 
one considering buying 
one of these computers 
would seem to be this: 

PC’s Limited sells quality 
systems for extraordinarily 
low prices.” 

—PC Week, 
October 29, 1985 


• 16-bit 8088-2 System Unit • AT Keyboard 

(runs at 4.77 or 6.66MHZ) • BOW Power Supply 

• 640K on Mother Board • Operations Manual 

• 360K Floppy Drive • One Year Limited Warranty 

■ 


$795 


Our Turbo PC™ has sold in large quantities since the first week we introduced it. Of course, that’s not surprising, since we 
were the first company to break the $800 barrier with a machine that outruns the “Big” name by a 40% speed factor. Now, 
we’re going to extend the margin even further by offering a 30-day money back guarantee. If that sounds good, it’ll look 
even better when one of our Ihrbo PC’s is on your desk. So call us today. We’re guaranteeing you’ll like what you get. 


Some quxn ti tie. may be limited. PC. 
Limited aetla equipment certified to 
be compliant with FCC Clam B .tan- 
datda. When equipment manufac¬ 
tured by PC. Limited ha. not yet 
received certification, PC. Limited 
will Hibuitute equivalent certified 
equipment. All price, lie .object to 
change without notice. We arc an 
independent tale, organization. 



Ea 


m PC'S LIMITED 

SALES CALLS OUTSIDE TEXAS, 1-800-426-5150 
1611 Headway Circle, Building 3, Austin, Texas 78754 
Sales Calls from anywhere in country, (512) 339-6962 
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964 
•Limited Warranty Telex No 9103808386 PC LTD FAX (512) 339-6721 






























Call for latest prices. 


FREE SHIPPING (!) 

in the Continental United States via UPS Ground. 

NO SURCHARGE FOR E3 OR 


Floppy Disk Drive ELECTRONICS 

Half-Height, DS/DD 

Also available for AT- 

in Gray Color. PANASONIC 

Half-Height, DS/DD 

TEAC 

55-B, Half-Height, DS/DD 



$109 


64K RAM 

Set of 9 chips, 200 or 150 Nanoseconds 


$10 


per set 


256K RAM $29 5,11,19 ^ 


PC's Limited AT 
Multifunction Cord 

• Expandable To 3 Meg 

(1.5 on Board/1.5 on Piggy Back Board) 

• Supports 64 or 256K Rams 

• Parallel Port 

• Serial Port (2nd Serial Optional) 



Piggy Back 

W / 0 K Board $59 w/OK 


PC's Limited Mini l/( 


• Serial Port 

• Parallel Port 

• Clock 

• Software 

• Fits In Short Slot 


$99 


300/1200 Baud Hayes 
Compatible Modem 
Fits in Short Slot 



$159 


PC's Limited Monochrome Graphics 
Fully Hercules Compatible 


$159 


• Text Mode 80 X 25 

• Graphics Mode 720 X 348 Pixels 

• One Parallel Printer Port 



PC'S LIMITED Six Function Cord 


• Upgradable to 384K 

• Clock/Calendar 

• Includes Software 

• Parallel Port 

• Serial Port 



• Game Port 


Two Year Warranty • 


w/OK $99 w/384K $149 


Seagate 

20 and 30 MEG 
High Speed 
40 MS Access Time 
Hard Drives for AT™ 



Heads park automatically 
at power down. 

20 MEG $579 
30 MEG $699 
40 MEG $819 

Includes Seagate Full Height Hard Disk. 
Cable, and Mounting Ralls. 

Boots from Hard Disk. One Year Warranty. • 


PC's Limited PC-576 RAM Board 


• Expandable to 576K 

• Supports 64K or 256K RAMS 

• Fits in Short Slot 


$69 


W/OK 



SOLVE TOO. POWER PROBLEM. 

XT' POWER 130W 



$99 


Directly replaces power 
supply in PC."' 

Fully XT’" compatible. 
One Year Warranty ' 


PC'S LIMITED PC'S LIMITED 
MONO-1 MONITOR RGB-1 MONITOR 

$169 $459 




• 12-inch screen 

• Amber 

• Compatible with 
or color graphics cards 


• .31.MM dot pitch 

• RGB input 

• 12-inch screen 

• 690X240 resolution 

• 16 colors 


TOTAL SATISFACTION GUARANTEE 

WARRANTY 

For Warranty Service: One year Limited Warranty on PC’s 
Limited products. Contact Technical Support for a Return 
Authorization Number (RMA). Returns must be accompa¬ 
nied by your RMA, the invoice, and a brief explanation. 

During the Warranty Period, PC’s Limited will repair or re¬ 
place items at our option. 

30-DAY TOTAL SATISFACTION GUARANTEE 

Any item bought from PC’s Limited may be returned within 
30 days from the date it was shipped for a full refund of 
your purchase price. Returned items must be as-new, not 
modified or damaged, with all warranty cards, manuals, and 
packaging intact. Returned items must be shipped prepaid 
and insured, and must bear a PC’s Limited Credit Return 
Authorization (CRA) on the shipping label. Call PC’s 
Limited’s Customer Support Department for CRA. No 
credits issued after 30 days from date of shipment. 

CONSUMER TIP 

When shopping for PC products, ask our competitors about 
their refund policies. 


Seagate HD o Western Digital Controller 

20 MEG Hard Disk System for PC' 

Internal 
$449 

For Xebec 1220 Combined Floppy/Hard Disk Controller add $75. 

Includes Seagate Hard Disk, Western Digital Controller, Cables, 

Manual, Software, and Mounting Hardware. 

Boots From Hard Disk 65 MS Access Time One Year Warranty • 

Our Hard Disk Systems arc compatible with the latest versions of the following Computers: IBM PC. 
IBM XT. ATAT 6300.Compaq Deskpro, Tandy 1000, Tandy 1200. PC's Limited Tirbo PC. Zenith ISO. 
Zenith IS!. Leading Edge PC (Both Models). Sperry PC, Wysc PC. Telcvidco PC. Faraday Mother Boards. 
Corona PC. Eagle PC. ITT PC, and most other Compatibles. 

PLEASE SPECIFY YOUR COMPUTER TYPE WHEN ORDERING. 





WP* 

SALES CALLS OUTSIDE TEXAS, 1-800-426-5150 
1611 Headway Circle, Building 3, Austin, Texas 78754 frjjjph ' 
Sales Calls from anywhere in country, (512) 339-6962 I^S 


PC'S LIMITED 


received certification, PC's Limited 
will substitute equivalent certified 
equipment. All prices are subject to 
change without notice. We are an 
independent sales organisation. 


Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964 
•Limited Warranty Telex No 9103808386 PC LID FAX (512) 339-6721 


Panasonic, TEAC, Mitaubilhi, Intel, IBM, 
Hercules, Plantronica, Xebec, Seagate, Weatem 
Digital, AT&T, Compaq, Tandy, Leading Edge, 
Sperry, Wyae, Televideo, Faraday, Corona, 

Eagle, ITT, and Zenith are registered trade¬ 
marks of their respective companies. IBM PC, 
IBM XT, IBM AT, are trademarks of IBM Cor¬ 
poration. Leading Edge PC, Sperry PC, Wyae PC, 
Compaq Deakpro, Zenith 150, Zenith 151, 
Televideo PC, Corona PC, Eagle PC. AT&T 
6300, Tandy 1000 and Tandy 1200 are trade¬ 
mark! of their respective companies. 


Ad Number A05/86 


CIRCLE NO. 145 ON READER SERVICE CARD 




































How to develop 
elegant software 
using Basic or " C 


ff 


by Cary Harwin 

A widely shared dream is the fast, easy 
creation of error-free code and documentation. 
One of the secrets of top software designers 
is increased productivity through the use of 
powerful tools. Imagine the benefits of 
joining this group. Here are some ways. 


For Software Designers 
Using BASIC: 

BASIC Development Tools 

Screen Builder + * easily creates 
powerful application screens. Using your 
favorite won! processor or the built-in full 
screen editor you quickly paint your screen 
image. Simply create and edit fields of any 
length, anywhere on the screen, with both 
full screen editing within each field and move¬ 
ment from field to field. Enhanced graphics 
presentations are encouraged using all 255 
ASCII characters. With available on-line 
help you are quickly up and running. Then 
error-free BASIC is automatically generated. 
Now the code is ready to insert into your 
application program without the use of 
BLOAD or BSAVE. With no BIOS calls, 
the code is tight and efficient The system is 
complete with both a subroutine library and 
multiple examples. For only $59 you 
should be using it now. 

"0^ B-Plus Tree - * - * is a powerful record 
handling subsystem. Write programs 
without worrying about sorting or handling 
of index files. Fast (access a key field in a 
file of 32,000 records in less than one 
second). Direct and sequential accessing, 
variable length keys, multiple non unique 
keys and multiple keys per record. Get first, 


^ Name: JohnD.Ro*e| 
Title: GenerilMi 
Company: GTL Internal on »1 
Address: 117Stony Creek 
City: Phi* 


HELP 

Put it anywhere, • 

Call it anytime, 

Display whatever 
information you chooac 



windowing functions when called from a 
BASIC program. Implementing EZ lets you 
create modem and fast menus, windows, 
notepads, etc. The power and flexibility 
found here rivals the windowing power of the 
modem languages found in the industry today 
and a must have at only $39. 

Each of these stand alone but when used 
together they are truly outstanding. Prove it 
to yourself by trying all four. 

A Pleasant Surprise - it is hard to 
find good, affordable software; so I've done 
something about it For a limited time you 
can purchase all four BASIC Development 
Tools for only $89. ($206 value) 

+Runs under interpretive BASIC A or 
Microsoft Basic. Compilable under IBM, 
Microsoft, or QuickBASIC Compiler. 


For Software Designers 
Using "C" : 


BlackStar™ "C" Function 
next, last or prior key In sequence. Users are Library* 

The new generation of "C" compilers demand 


amazed at the source code's simple elegance 
and are delighted in the value pricing of $59. 

Help Message -1- * systems are a part 
or every modem software application. Now 
you can provide your users with the help 
they expect. Interactive, context sensitive 
help reduces the need for extensive manual 
documentation while allowing your users to 
become quickly operational. High perfor¬ 
mance is assured through the inclusion of a 
fast assembler subroutine. Overhead to your 
program is insignificant as your text informa¬ 
tion is turned into callable libraries. A 
justifiable necessity at $49. 

<► EZ Screen -1- * or Pop up Windows is 
an assembler routine embedded in a basic 
subroutine to perform screen handling and 


a full featured, high performance function 
library. With over 250 functions, BlackStar 
is "the" new standard of "C" function 
libraries. Created for internal development 
and used extensively for the past two years, 
BlackStar has only recently been released to 
outside developers. Now there is no need for 
you to re-invent the wheel. I believe that it 
has everything (&more) on your wish-list of 
functions. 

Standard Functions: 

Screen handling, strings, graphics, file I/O, 
directory searches, peripheral control, and 
extensive date/time 
Supports device drivers 
Utilities with source: document extract, 
pretty printer, greplike 


Powerful New Enhancements: 

Menu manager and Text windows 
Microsoft Mouse support 
Encryption 

Table driven printer control 
Table driven keyboard functions for complete 
keyboard control and customization 

High Performance features: 

Optimized (in assembler) for speed and 
compactness 
Interrupt redirection. 

Complete 

Compatible with Lattice and Microsoft 
Compilers (Ver.3) - adaptable to others 
Complete source code, demo programs and 
comprehensive users manual 

If you are using another function library it is 
time to make this major upgrade. 

Wow! - An outstanding value at our regular 
price of $99 but a virtual steal at our limited 
time special of only $79. 


Amazing Offer - I promise your 
programming productivity will be enhanced 
if you use these tools. In addition, I am 
going to make testing them in your home or 
office so easy that it will be a shame if you 
don’t take advantage of my offer. Simply 
order by calling our toll-free hotline. After 
you receive your tools, put them to work 
developing those challenging projects. Try 
them for 75 days. If you're not convinced 
that they are a fantastic value, simply return 
them and I'll refund your full purchase price. 
But act now and join that select group of top 
software designers. 

ORDER HOTLINE 
1-800/7-Castle 

(in CA call: 213/306-3020) 

Visa, MC, COD, and checks accepted. 

Shipping included in U.S. and Canada. Others 
please add $15. CA residents add 6% tax. 

♦Requires PC or MS Dos. 

Trademarks: BlackStar (Sterling Castle), MS-DOS 
(Microsoft), IBM and PC-DOS (International Business 
Machines), Lattice (Lattice, Inc) 


STERLING 

CASTLE 

Helping You to Solve Problems 

702 Washington Street Suite 174 
Marina del Rey, CA 90292 

P.S. Please remember that our products are 
not copy protected and we charge no 
royalties. 


CIRCLE NO. 183 ON READER SERVICE CARD 

































PARAMETERS 


NOT COPY 
PROTECTED! 


LISTING 1: ABSREAD.ASM 

PAGE ,132 

; -- absread -- absolute track and sector read 
; Version 1.1 December 30, 1985 

; Glenn F. Roberts 

; calling convention: 

; absread(drive, nsect, sector, Sbuffer); 

; where: 

; drive = drive no. (A=0, B=1 ... ) 

; nsect = number of sectors to read 

; sector = beginning logical sector number 

; buffer = array to hold data 

; returns: 

; 0 Normal return, no error 

; 1 Write protect violation 

; 2 Unknown unit 

; 3 Drive not ready 

; 4 Unknown command 

; 5 CRC error 

; 6 Bad drive request structure length 

; 7 Seek error 

; 8 Unknown media 

; 9 Sector not found 

; 10 Printer out of paper 

; 11 Write fault 

; 12 Read fault 

; 13 General disk failure 


_text SEGMENT 

ASSUME 

PUBLIC 

BYTE PUBLIC 

CS:_text 

_absread 

•CODE' 

_absread PROC 

NEAR 


PUSH 

BP 

; set up stack addressing 

MOV 

BP,SP 


PUSH 

DI 


PUSH 

SI 


MOV 

AX,[BP+4] 

; AX = drive number 

MOV 

CX,[BP+6] 

; CX = number of sectors 

MOV 

DX, [BP+8] 

; DX = starting record 

MOV 

BX, [BP+10] 

; DS:BX = buffer address 

INT 

025H 

; request absolute read 

INC 

SP 


INC 

SP 

; fix the stack 

JC 

ERROR 

; if error then return code 

XOR 

AX, AX 

; else show normal return = 0 

JMP 

SHORT DONE 

; and then exit 

ERROR: MOV 

AH,0 

; error - zero high byte 

INC 

AL 

; and increment error no. 

DONE: POP 

SI 

; restore registers 

POP 

DI 


POP 

BP 


RET 

_absread ENDP 

_text ENDS 

END 


; and return 


LISTING 2: INFO.C 

^include <stdio.h> 

#include <stdlib.h> 

#include <ctype.h> 

#include <dos.h> 

^include <malloc.h> 

/* info -• This program displays useful information 
** about a DOS disk. Output is in the form of 

** a series of general information lines followed 

** by a table showing disk space usage. Space 

** usage is shown in sectors, bytes and clusters. 

** The program should work with all disk formats 



Sybil is an Advanced Diagnostics disk... 

She can low format hard disks just like 
Advanced Diagnostics (IBM, Compaq, etc.) and 
she can do system and memory tests which 
provide even more information than Advanced 
Diagnostics does. $245.00 cheaper than IBM's 
Advanced Diagnostics! 


Sybil is a Disaster Recovery program... 

She can recover hard disks that have been ac¬ 
cidentally formatted, completely! The hard disk 
reappears in exactly the same condition prior 
to the format. Truly amazing! 

Sybil is a Graphics Editor... 

She can draw on either RGB monitors (in color) 
or IBM Monochrome monitors in high ASCII 
characters. Perfect for creating Binary Image 
Files. The Binary Image Files can be converted 
to Assembly and then linked to other lan¬ 
guages, such as your favorite Pascal, C, or com¬ 
piled BASIC program. Includes source code. 


Sybil is a File Wizard... 

Sybil can backup files by date, by time, or by 
size. She can find any file (or files) anywhere on 
your hard or floppy disks, even if you haven't 
the vaguest notion. She can edit file attributes 
with the greatest of ease, unerase files, edit 
sectors, and globally change time and date 
stamps. Ail her file utilities understand paths 
and wildcards. 


Sybil is also a... 

ram Disk, Print spooler, General Regular 
Expression Parser and, Advanced File 
Comparator. 


m 


Order Sybil Today! 
call 800-922-3001, in Colorado, 
303-444-1542 


SOPHCO 

PO Box 7430 

Boulder, Colorado 80306 


MAY 1986 


CIRCLE NO. 176 ON READER SERVICE CARD 












PARAMETERS 


including "RAH" disks. 

Usage: info Cd:l 

Where d: is an optional drive specification. 
If d: is omitted, the default drive will be 
assured. 

Compiler: Microsoft C V3.0 

Options : /Zp (pack arrays) 

/Ze (support "far" extension) 

External modules: 

absreadO 

Version 1.53 February 6, 1986 
Glenn F. Roberts 


#define TRUE 1 

#define ENTRYJ.ENGTH 32 

#define HINVERSION 200 /* DOS 2.0 */ 

#define MAX_VERSION 310 /* DOS 3.1 */ 

#include "structs.h" 

#include "dosfns.h" 

main(argc, argv) 
int argc; 
char ‘argvtl; 

C 

int drive, ver; 

struct disk_table far ‘get_table(), far *tbl; 
struct boot *bpb; 
static struct ext_fcb fcb = < 
0xFF,0,0,0,0,0,VOL_ENTRY,0, 

•?i 

0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0 

>; 

ver = _osmaj‘or*100+_osminor; 

if ((ver < MIN_VERSION) || (ver > HAX_VERSION)) 



printf("Incorrect DOS version Xd\n", ver); 
else if (!((--argc > 0) ? 

(parse(‘++argv, &fcb.drive_id, 1) != 255) : TRUE)) 
printf("Invalid drive specification\n"); 
else C 

drive = (fcb.drive_id == 0) ? current_drv() : fcb.drive_id-1; 
tbl = get_table(drive); 

bpb = (struct boot *) malloc(tbl*>sector_size); 
absread(drive, 1, 0, bpb); 
print_vol(drive, tbl); 
print_info(drive, bpb, tbl); 
print_tbl(drive, bpb, tbl); 

> 

> 

/* scan_fat -- Analyze FAT. Calculate the number 
“ of clusters available, in use and 

“ "locked out" by DOS. 

*/ 

scan_fat(fat, is12, fatlast, avail, locked, used) 
unsigned char *fat; 
int is12; 

unsigned fatlast, ‘avail, ‘locked, ‘used; 

C 

int i, cn; 

‘avail = ‘locked = ‘used = 0; 
for (i=2; i<=fatlast; i++) ( 
cn = fatval(is12, i, fat); 
if (cn == LOCKED_OUT(is12)) (*locked)++; 
else if (cn == AVAILABLE) (*avail)++; 
else (*used)++; 

> 

> 

/* print_vol -- Print volume name and creation time/ 

“ date if it exists, else print that 

“ volume has no label. 

*/ 

print_vol(drive, tbl) 
int drive; 




Cross Compile 
68000 / 08 / 10/20 


Features: 

■ Full, Standard C 

■ Easy to Use Compiler Options 

■ Complete User Documentation 

■ Global Code Optimization 

■ Optional Register Allocation 
Via Coloring 

■ ROMable and Reentrant Code 

■ Comprehensive Royalty Free 
Run-time Library 

■ Floating Point Library Routines 

■ Intermix MCC68K C with 
ASM68K Assembly Language or 
Microtec PAS68K Pascal 

■ Optional Assembly Language 
Listing Intermixed with MCC68K 
C Source Line Number 

■ Symbolic Debug Capability 


The Microtec MCC68K C Cross Compiler 
is a complete implementation of the 
‘C’ programming language as de¬ 
fined in The C Programming 
Language by Kernighan and 
Ritchie with extensions. 

JCC68K emits highly optimized 
isembly language code for 
me Microtec ASM68K 
Motorola compatible 
assembler 

The Microtec MCC68K 
package includes the 
compiler, relocatable 
macro assembler, 
linking loader, 
run-time li¬ 
brary, and 
compre¬ 
hensive 
user's 
guide. 


3930 Freedom Circle, Suite 101, Santa Clara, CA 95054 
Mailing Address: P.O. Box 60337, Sunnyvale, CA 94088 

W//A MICROTEC ® 

WM RESEARCH 


Host computers include: DEC VAX, DG MV- 
Series, Apollo, IBM PC and PC-compatibles.. 

We’re Functional and Fast and Serious 
about our products. We’ve been providing 
flexible and economical solutions for soft¬ 
ware developers since 1974. 

Beginning with product concept, through 
development, quality assurance, and post¬ 
sales support - Quality, Compatibility 
and Service are the differences which set 
Microtec Research apart from others. 

If you’re a serious software developer, shop¬ 
ping for software development tools- call 
write today for more information: 

800-551-55b 

In CA call (4081733-2919. 


136 


PC TECH JOURNAL 








Powerful MS-DOS Software. 

For the IBM®-PC, XT, AT & others with generic MS-DOS/PC-DOS 2.0 or higher. 



UTAH 


Only 


COBOL 



Each! 


UTAH 

FORTRAN 


Whether student, teacher or professional programmer, 
this is the one you’ve heard so much about. 

□ It’s easy to use. Compiles 5000 statements on a 128K 
machine. 

□ 170 clear error messages, i.e. DATA-NAME IS 
MISSING OR MISSPELLED. 

□ Distribute your object code programs royalty free. 

□ Small object code programs conserve disk space. 

□ Fast compile times to increase programmer pro¬ 
ductivity. Over 25 times faster than one compiler 
costing $995! 

□ You get a diskette and 213-page manual with lots of 
examples and 16 complete COBOL source code 
programs. $39.95. 

Also available: COBOL Application Packages, Book 1 $9.95. 

UTAH 

PASCAL 

□ 14-digit precision, BCD math, no round-off errors 

with decimal arithmetic for business and floating point + 63 
-64 for scientific. 

□ A very nice TRACE style debugging. 

□ Arrays up to 8 dimensions and 64K strings. 

□ External procedures and functions with dynamic 
auto-loading. 

□ One-step compile, no assembly or link required. 

□ You get a 132-page manual and diskette. $39.95 

UTAH 

PILOT 

□ Perfect for industrial training, office training, drill 
and testing, virtually all programmed instruction, word 
puzzle games, and data entry facilitated by prompts. 

□ John Starkweather, Ph.D., the inventor of the PILOT 
language, has added a built-in full-screen text editor, 
and much more. 

□ Meets all PILOT-73 standards for full compatibility with 
older versions. 

□ You get a diskette, 125-page manual and ten useful 
sample programs. $39.95. 

Also still available for 8-bit machines with CP/M® is our world famous 
Nevada Software Series used by 50,000 customers in 40 countries. 

These include Nevada COBOL, Nevada FORTRAN, Nevada PASCAL, 
Nevada PILOT, Nevada BASIC and Nevada EDIT. $39.95 each. 

Satisfaction guaranteed. If for any reason you’re not completely 
satisfied, just return the package within 15 days in good condition, and 
we’ll refund your money. 

IBM is a registered trademark of International Business Machines Corp. 
CP/M is a registered trademark of Digital Research. MS is a trademark 
of Microsoft Corp. © 1985 Ellis Computing, Inc. 


□ FORTRAN IV based upon ANSI-66 standards. 

□ Very fast compile times and easy to use. 

□ IF.. THEN.. ELSE constructs. 

□ Chaining with blank and named common. 

□ Copy statement. 

□ ENCODE and DECODE. 

□ Free-format input and output. 

□ A very nice TRACE style debugging. 

□ 150 English language error messages. 

□ You get a diskette, and 223-page manual. $39.95 


UTAH 

EDIT 

□ A character-oriented full-screen video display text 
editor designed specifically to create COBOL, 

FORTRAN and PASCAL programs. 

□ Only requires 15K disk space so it can fit on the 
same disk as your compilers. 

□ Completely customizable tab stops, default file 
type, keyboard control key layout and CRT by menu 
selection. 

□ Diskette comes with easy to read 58-page manual. $39.95. 

UTAH 

BASIC 

□ This interpreter has a built-in full-screen editor. 

□ Single- and Multi-line user definable functions. 

□ BCD Math-no round-off errors. 

□ Full Matrix operations. 

□ You get 220-page manual and diskette. $39.95. 

Handling/Shipping: No shipping charge within US. Overseas 
add $10 for first package, $5 each additional. Checks must be 
in US Dollars, drawn on a US bank. 

Utah Software requires 128K RAM and PC-DOS or MS-DOS 2.0 or higher. 

HOW TO ORDER. Send check or money order to Ellis Computing, Inc. 
with VISA or MASTERCARD order by phone. Sorry no COD’s. 


o 


Ellis Computing, Inc. 

5655 Riggins Court, Suite 10 
Reno, Nevada 89502 
Phone (702) 827-3030 

SINCE 1977 


ELLIS COMPUTING " 


CIRCLE NO. 170 ON READER SERVICE CARD 


PARAMETERS 



struct disk table far * *tbl; 


for (i=0, validboot = TRUE; (i<8) && (valid_boot); i++) 





valid_boot = isprint(bpb->oem_name[i]); 



struct extended entry dir entry; 


if (valid_boot) { 



static struct ext feb volfcb = C 


ncyl = bpb->number_of sectors/ 



OxFF,0,0,0,0,0,VOL ENTRY,0, 


(bpb->sectors_per_track*bpb->number_of_heads); 





if ((bpb->nunber_of_sectors X 



0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 


(bpb->sectors_per_track*bpb->number_of_heads)) != 0) 



>; 


ncyl++; 



int i; 


printfC* OEM name : "); 



char ere date[15], cre_time[15]; 


for (i=0; i<8; i++) 





putchar(bpb->oem_name[i]); 



printfC*** Information for Disk %c:", (drive + 'A')); 


printfC* "); 



if (tbl-designator != drive) 


> 



printfC* (Assigned to drive Xc:)", (tbl-designator + 'A')); 


printfC* Media descriptor (hex): X2x\n'*, tbl->media_type); 



printfC* ***\n\n Volume "); 


if (valid_boot) C 



setdta(&dir entry); 


printfC* Volume has %d Surfaces, '*, bpb->number_of_heads); 



vol_fcb.drive_id = drive+1; 


printfC'Xd Tracks with ", ncyl); 



if (search_first(&vol_fcb) != 255) C 


printfC'Xd Sectors/Track\n", bpb->sectors_per_track); 



dtoa(dir_entry.body.create_date, cre_date); 


> 



ttoa(dir_entry.body.create_time, cre_time); 


printfC' Sector size is Xu bytes.", tbl->sector_size); 



for (i=0; f<11; i++) 


printfC* FAT entries are Xd bits\n". 



putchar(dir_entry.body.filname[i]); 


(tbl->last_cluster < MAX_12BIT) ? 12 : 16); 



printfC' created Xs Xs\n", cre_date, cretime); 


printfC* Cluster size is Xu bytes ", 



> 


(tbl->cluster_size+1)*tbl->sector_size); 



else 


printf("(Xu sectors)\n\n", tbl->cluster_size+1); 



printfC'has no label\n"); 


> 



> 


/* print_tbl -- Print table showing disk usage. 



/* print_info -- Print general information. 


*/ 

print_tbl(drive, bpb, tbl) 



*/ 


int drive; 



print_info(drive, bpb, tbl) 


struct boot *bpb; 



int drive; 


struct disk_table far *tbl; 



struct boot *bpb; 





struct disk_table far *tbl; 


int i, nhidden, valid_boot, twelve_bit_fat; 



t 


unsigned avail, locked, used, ntotal; 



int i, valid_boot; 


unsigned char *fat; 



unsigned ncyl; 


printf("Usage: "); 



/* If OEM name is printable then boot data are OK */ 


printfC'Sectors Bytes Clusters\n"); 






The Ecosoft Eco-C88 compiler for the 8088 and MSDOS is going to set a new standard 
for price and performance. Consider the evidence: 


We’ve continually improved Microstat since it was introduced in 1978. and 
the latest release includes many new features you've wanted. 


Eco-C88 


(1) Computer Language, Feb., 1985, pp.73-102. Reprinted by permission. 

Eco-C88 Rel. 3.0 on IBM PC with 2 floppy disks, 256K. Benchmarks from Feb., 1985, 

Computer Language. 

Eco-C88 includes: 

★ All operators and data types (except bit fields) 

★ Prototyping, structure passing and assignment, enum and void language enhance¬ 
ments 

★ Tiered error messages (gives you selectable levels of “lint” semantic checking) 

★ memfiles (TM) for using memory outside the 128K limit as a file 

★ Expanded library with over 200 functions (many of which are System V compatible) 
plus color and transcendental 

★ ASM or OBJ output: uses the MSDOS linker 

★ 8087 support with 8087 sensed at runtime 

★ cc and “mini-make” for easy compiles (with source code) 

★ expanded user’s manual 

If ordered with the compiler, the C library source code (excluding transcen- 
dentals) is $10.00 and the ISAM file handler (as published in the C 
Programmer’s Library, Que Corp) in OBJ format is an additional $15.00. Please 
add $4.00 for shipping and handling. To order, call or write: 

MK?N°CollegfAvenue 1-800-952-0472 

Indianapolis. IN 46220 (orders only) 

(317)255-6476 • 8:30-4:30 

CIRCLE NO. 131 ON READER SERVICE CARD _ _ , , 

Trademarks: Eco-C88, Microstat (Ecosoftl, CP/M (Digital Research). MSDOS (Microsoft). PC-DOS (IBM). Z80 (Zilog). 8086. 8087. 8088 (Intel). 


Interactive and Batch Processing 

Expanded Data Management 
Subsystem with New Data 
Transforms 

Reading data files created by other 
programs (e.g.. Lotus) 

3 types of Analysis of Variance 

Time Series 

Crosstabs and Chi-Square 

Factorials. Permutations, and 
Combinations 

Hypothesis Tests 


Data sets that can exceed memory 

Multiple Regression (including 
Stepwise) 

Scatterplots (including best fit 
regression) 

Correlation Analysis 

12 Nonparametric tests 

8 Probability Distributions 

Descriptive Statistics 

Easy Installation 


Microstat’s algorithms have been designed to prevent numeric overflow errors 
and yield unsurpassed accuracy. Microstat’s price is $375.00 including the 
user’s manual and is available for the Z80. 8086. 8088 CPU’s and CP/M80. 
CP/M86, MS-DOS. and PC-DOS. To order, call or write. 











































fW* $SE». 


< ea : 


spf 7^6 s^ es 


P°' f ' 6lt u 
and a °‘ 


■ 

§& 


Hfi 

/ ,;:CI 


■ft 

H 

felt 

tm 

V-. ; 


■K 

si 

HH 

iH 

|||||| 

■ft 

Wm 

w& 


\* tv 

wp eset 1 Tofl'V t6l 7, v ‘”oS tv? e 

«***^ £* van fV btt ^ n( . — , 

tfasss-is^si 

a »»*»’“ 


tf' st,a i \ogos " hen 
V, * aiaC fbe cte ated cbat actet - 

ne ^o 6 ° s a f a " V Pf ul 


vides atv 


T^ e 


{o\- 


“sS'lrs-"' td “' 


In 


Ivlany 


jVno 




When we introduced JLASER, we knew it 
was the ultimate solution to current laser printer 
limitations. Like all good things, it's catching on 
fast. The list of software companies that back 
JLASER is expanding rapidly. We are pleased 
to welcome this latest addition to our growing 
software family of JLASER supporters. 

JLASER is a controller that piggybacks 
onto a JRAM-3 or AT-3 two megabyte 
memory board giving laser printers the 
speed and versatility they were meant 
to have. It plugs directly into the printer 
engine of the H-P Laserjet™ or other 
Canon-based printers. Our interface 
transfers bit-mapped images from RAM, 
bypassing the on-board print buffer 
and most of the control circuitry. It 
opens up a creative new world of 
graphics and multiple type font com¬ 
binations, and still gives you plenty of 
RAM to use for programs, data, and 
electronic disk. 


^U« ands - 


vntk 


totfl* 


iff! 

M 


Steq isr-vsr* 

cpeci&V ot t\ofr a ^ . s ettv&6 eQ' jatl ° tV 




the 


SoUC 


n t^k") 


Cie at6 matt V0g 
aess0 E Foot i° tmat 
Fancy Use 

Fancy ^ Mt o{ T tt6 d', «t° ° tn 
W D asOtesopp 011 

coto^e teqoVed- 
It ' a ° -^^00 5310^ 

Aa '-* 00 f ^ on ’ 


JLASER is the powerful, eco¬ 
nomical, and efficient solution to 
all your laser printer problems. 


com- 



CIRCLE NO. 194 ON READER SERVICE CARD 


TALL TREE SYSTEMS 

1120 San Antonio Road 
Palo Alto, CA 94303 
(415) 964-1980 




PARAMETERS 


for (i=0; i<61; i++) 
putchar('='); 
putchar('\n'); 

ntotal = tbl*>fat_start + tbl->fat_copies*tbl->fat_size + 

(tbl->max_entries*ENTRY_LENGTH/tbl->sector_size) + 
(tbl->last_cluster*1) * (tbl->cluster_size+1); 

/* If OEM name is printable then boot data are OK */ 
for (i=0, valid_boot = TRUE; (i<8) && (valid_boot); i++) 
valid_boot = isprint(bpb->oem_name[i]); 

/* Print "hidden" information, if available */ 
if(validboot) { 

nhidden = bpb->number_of_sectors - ntotal; 
ntotal = bpb->number_of_sectors; 

printf("Sectors Not Available | %7d | X12lu | |\n", 

nhidden, (long) nhidden * (long) tbl->sector_size); 

> 

/* Print stat's on DOS boot, FAT, and root dir. */ 
printf("DOS Boot Area | %7d | %12lu | |\n", 

tbl->fat_start, (long) tbl->fat_start * 

(long) tbl->sector_size); 

printf("File Allocation Table | %7d | %12lu | |\n", 

(tbl->fat_copies)*(tbl->fat_size), 

(long) (tbl->fat_copies)*(tbl->fat_size) * 

(long) tbl->sector_size); 

printf("Root Directory | %7d | X12lu | |\n", 

(tbl->max_entries*ENTRY_LENGTH/tbl->sector_size), 

(long) (tbl->max_entries*ENTRY_LENGTH)); 

/* Read and analyze the FAT */ 

fat = (unsigned char *) malloc(tbl->fat_size*tbl->sector_size); 
absread(drive, tbl->fat_size, tbl->fat_start, fat); 
twelve_bit_fat = (tbl->last_cluster < MAX12BIT); 
scan_fat(fat, twelvebit_fat, tbl->last_cluster, 

&avail, &locked, &used); 

/* Print used, avail, locked out summary */ 


printf("Files & Subdirectories | %7lu j %12lu j %6d |\n", 

(long) used * (long) (tbl*>cluster_size+1), 

(long) used * (long) (tbl->cluster_size+1) * 

(long) tbl->sector_size, used); 
printf("Locked Out | X7u | %12lu | %6u |\n", 

locked*(tbl->cluster_size+1), 

(long) locked * (long) (tbl->cluster_size+1) * 

(long) tbl->sector_size, locked); 
printf("Available | X7lu | %12lu | X6u |\n", 

(long) avail * (long) (tbl->cluster_size+1), 

(long) avail * (long) (tbl->cluster_size+1) * 

(long) tbl->sector_size, avail); 

/* Print totals and percent disk used information */ 
for (i=0; i<61; i++) 
putchar(*='); 
putchar('\n'); 

printf("TOTAL | X7u ", ntotal); 

printf(»| %12lu | X6u |\n\n", (long) ntotal * 

(long) tbl->sector_size, (tbl->last_cluster)-1); 
printfC The disk is Xlu%% full\n", 

(used+locked)*100L/((tbl->last_cluster)-1)); 


LISTING 3: STRUCTS.H 

** structs.h -• These are various data structures 
** for use with Microsoft MS-DOS 

** function calls. 

** ====================== ======================== 

*/ 

I* msdate -- packed date format used in directory */ 
struct msdate ( 
unsigned d : 5; 
unsigned m : 4; 
unsigned y : 7; 

); 

/* ms_time -- packed time format used in directory */ 


FLC 
[ <DIS ! 
L^SE[ 

^■INC. 


FLOPPY 
<DISK 
SERVICES 


39 Everett Dr., Bldg. D 
Lawrenceville, N.J. 08648 


I loppy Di.^k Sim vie ('s, ini. has been serving the 
(omputer (ommunity for 6 years now. We 
offer the best in products and service for the 
professional and hobbyst alike. Organizations 
like NASA, KC.A, AT&T and IBM who demand 
quality are among our valued customers. Our 
lei hs ( an i ustom assemble virtually any special 
i ablingoreni losure set-up you may need. We 
offer an ent losure line' that has sold thousands 
over the years and our replacement warranty 
polity puts us out front.. .We are among the 
first to offer 8 inch double sided drive systems 
that run on the IBM-PC/XT for interchangability 
standards from mainframe to micro. 



Mitsubishi 4851 DS/DD 48 tpi. $139. 

Mitsubishi 4854 1.6mb AT drive. $185. 

10 megabyte system. $495. 

20 megabyte system. $595. 

40 megabyte system. $995. 

130 watt pc supplies. $ 95. 

XT motherboards. Call 

Western Digital controllers. $165. 

Taxan 415 RGB monitors. $299. 

Teac 55 F 80 track drives. Call 



Taxan monitors (built for 
ACORN) $299. 



All our connectors and 
adaptors are crimped on 
AMP certified equipment! 



AST, Quadram and Western 
digital boards available! 


We offer many more products than space 
allows. Please call for FREE catalog or let one of 
our expert staff help you make the rightchoice, 
and the call is on us! 



".. .(Floppy Disk Services) is one of the few mail orderhousesthatenthusiastically 
does custom work; the technicians there can assemble virtually any desired 
floppy or hard disk system to order. . ." 

Jeff Duntemann 
Technical Editor, PC Tech Journal 


Toll Free Order Line: 1 (800) 223-0306 


140 


CIRCLE NO. 163 ON READER SERVICE CARD 


PC TECH JOURNAL 














































BRADY Speaks 
Your Language 


We can help you buff up your BASIC... Put a finish on your FORTH... 
Conquer C... Succeed with Assembler... And more! Just call toll-free 
or use the coupon to order today! 



1. The perfect intro to CP/M-86 
even if you’ve never programmed 
in assembly language before. 
Includes sections on sequential 
file handling and memory manip¬ 
ulation, and more. S21.95 




2. Beyond the basics, this guide 
explores new structured concepts 
to analyze and solve problems in 
C with tools of modularity, input 
and output functions, arrays and 
structures, and bit manipulation. 
$21.95 





3. The special focus is on screen 
management and data retrieval. 
You’ll find a library of reusable C 
software tools to help create inter¬ 
active systems, including file 
management, screen forms, etc. 
$21.95 



4. The best C articles from the 
highly respected Dr. Dobb s 
Journal dealing exclusively with 
C language and programming 
techniques. $24.95 



5. The author of our best-selling 
assembler books now demon¬ 
strates his detailed and accurate 
style on the 80286 chip. $21.95 



6. For the more advanced user 
familiar with Assembly language, 
here’s an opportunity to unleash 
the power of 10 DOS-enhancing 
programs. $21.95 


7. Our best-selling assembler 
book has been made even better! 
It now includes 30 assembler 
Macros and version 2.0 of the 
IBM Assembler. $21.95 



8. PC magazine calls it: “A truly 
remarkable book... A treasure 
trove of useful programming infor¬ 
mation on the IBM PC.’’ $22.95 


Now at your book or computer store. 

Or order toll-free today: 

|~BRADY COMMUNICATIONS COMPANYJNc! Acc"t # 

c/o Prentice Hall 

| P.O. Box 512, W.Nyack, NY 10994 


800 - 624-0023 


In New Jersey: 
800^624-0024^ 

_Exp. date. 


-1 


I Circle the numbers of the titles you want below. 

1 (Payment must be enclosed; or, use your charge 
| card.) Add $1.50 for postage and handling. 

1 Enclosed is check for $_or charge to 

| □ MasterCard □ VISA 


Signature. 

Name_ 

Address — 
City. 


State. 


(New Jersey residents, please add applicable sales tax.) 
Dept. 3 


Zip. 


GR-BLPT-BE(6) 


I 

1(0-89303-390-1) 2(0-89303-473-8) 3(0-89303-612-9) 4(0-89303-599-8) 

5JO-89303-575-0)_6J0-89303-584-X) 7 (0-89303-484-3) 8 (0-89303-510-6) 

///////////////////////////M 


CIRCLE NO. 161 ON READER SERVICE CARD 

























































Or DEC. Or DG, HP, or Wang. Or any other computer using 
BLAST Data transfer Software. 


Quite simply, BLAST solves one of the 
most basic problems of information 
management today: getting data from 
one computer to another reliably. And it 
does so faster, more efficiently, and less 
expensively than any other method 
available. 

We’d be happy to send you the de¬ 
tails of how BLAST works. But what it 
all boils down to is this: BLAST breaks 
the incompatibility barrier between 
180 different micros, minis and main¬ 
frames. Perhaps more importantly, it 
does so across myriads of different oper¬ 
ating systems. 

Link any number of computers. 

Using BLAST, you can link any number 
of computers over data switches, PBXs, 
satellite links, LANs and packet net¬ 
works. BLAST can operate over hard¬ 
wired RS-232 links or through low-cost 
asynchronous modems. 


BLAST IS AVAILABLE FOR 
180 MAJOR COMPUTERS, 
INCLUDING THE FOLLOWING 


MAINFRAMES 

IBM VM/CMS & MVS/TSO; AMDAHL 
MVS/TSO _ 

MINIS 

DIGITAL EQUIPMENT VAX/VMS, PDP/ 

RSX, RT-11; WANG/VS; DATA GEN¬ 
ERAL AOS, AOS/VS, RDOS, DOS; 
HARRIS VOS; AT&T 3B2.3B5,3B20, 
NCR TOWER/UNIX; HEWLETT PACK¬ 
ARD 3000/MPE, 1000/RTE, 9000 UNIX; 
PRIME PRIMOS _ 

MICROS 

AT&T 6300 & UNIX PC; UNIX SYS 5, 
BSD 4.2; APPLE DOS, MACINTOSH; 

MS-DOS/PC-DOS, CP/M 80,86 

IBM® is a trademark of International Business Machines 
AT&T® is a trademark of American Telephone & Telegraph 


Whatever system you use, your data 
will transfer 100% error-free , even 
through hazards like phone noise, de¬ 
lays and distortions. 

No expensive add-on boards required. 

BLAST software is specifically tailored 
to the computer you’re using. So you 
won’t have to purchase any additional 
hardware or interfaces. 

You can order BLAST—or get more 
information—by calling us at the toll- 
free number below. Or, you can write to 
us at: Communications Research 
Group, 8939 Jefferson Highway, Baton 
Rouge, LA 70809. Telex 759985. 

1 - 800 - 242-5278 



CIRCLE NO. 245 ON READER SERVICE CARD 



















PARAMETERS 


struct ms_time { 
unsigned xx : 5 
unsigned mm : 6 
unsigned hh : 5 

}; 


/* extended_header -- header used in constructing an 
** extended file control block. 

*/ 

struct extended_header { 
char header; 
char zeros[5]; 
char attrib; 


/♦ ext_fcb -- extended file control block */ 
struct ext_fcb ( 
struct extended_header fcb_hdr; 
char drive_id; 
char file_name[8]; 
char file_extension[3]; 
unsigned curblok; 
unsigned recsize; 
long filesize; 
struct ms_date date; 
struct ms_time time; 
char reserved[8]; 
char rec_in_blok; 
long relrecord; 


/* Macros & values used in interpreting FAT entries */ 
#define AVAILABLE 0x0000 
#define MAXJ2BIT OxOFF6 

#define L0CKED_0UT(IS12) (IS12 ? OxOFF7 : 0xFFF7) 
^define LAST_CLUSTER(IS12) (IS12 ? OxFFF : OxFFFF) 


/♦ Bits used in attribute field of directory entry */ 

#def ine READONLY 0x01 

#define HIDDEN 0x02 

#define SYSTEM 0x04 

#define VOL_ENTRY 0x08 

#define DIRECTORY 0x10 

#define ARCHIVE 0x20 


/* entry -- directory entry structure */ 
struct entry i 
char drive_no; 
char fiInameCII]; 
char attributes; 
char unused[1 Ob¬ 
struct ms_time create_time; 
struct ms_date create_date; 
unsigned first_cluster; 
long filsize; 


/* extended_entry -- directory structure for use with 
** extended file search 

*/ 

struct extended_entry { 
struct extended_header dir_hdr; 
struct entry body; 

>; 

/* boot - layout of beginning of DOS boot record */ 
struct boot < 
unsigned char jump[3]; 

unsigned char oem_name[8]; /* OEM */ 

unsigned bytes_per_sector; /* BPS */ 

unsigned char sectors_per_au; /* SPC */ 


unsigned reserved_sectors; 

/* RS */ 

unsigned char number_of_fats; 

/* CF ♦/ 

unsigned number_of_entries; 

/* D */ 

unsigned number_of_sectors; 

/* TS V 

unsigned char media_descriptor; 

/* MD ♦/ 

unsigned fat_size; 

/* SPF ♦/ 

unsigned sectors_per_track; 

/♦ SPT */ 

unsigned number_of_heads; 

/* NH ♦/ 

unsigned hidden_sectors; 

/* HS ♦/ 

>; 

/* ddheader -- layout of DOS device driver header */ 

struct dd_header { 



struct dd_header far *link; /♦ chain to next header */ 
int attributes; /* device attributes */ 
int strategy; /* strategy routine addr */ 


int interrupt; /* interrupt routine addr */ 

char name[83; /* device name field */ 


/* disk_table -- layout of table returned by fn 32 ♦/ 


struct disk_table { 

char designator; /♦ PD */ 

char altdesignator; /* As above; 0 if RAMdisk */ 

unsigned sector_size; /* BPS */ 

char clustersize; /* SPC - 1 */ 

char heads; /* NH - 1 */ 

unsigned fat_start; /* RS */ 

char fatcopies; /* CF */ 

unsigned max_entries; /* D */ 

unsigned first_sector; /* FUS */ 

unsigned last_cluster; /* TCC + 1 */ 

unsigned char fatsize; /* SPF */ 

unsigned dir_start; /* FDS */ 

struct dd_header far *ddh; /* DDA */ 

unsigned media_type; /* MD */ 

struct disk_table far *nxt; /* chain to next disktable */ 

unsigned subdir_cluster; /* CWD cluster (DOS 2 only) */ 

char subdirectory[64]; /* CWD (DOS 2 only) */ 

}; 


LISTING 4: DOSFNS.H 

/* ================================================ 

** dosfns.h -- Miscellaneous routine to call MS-DOS 
** system functions or perform system 

** specific tasks. 

** ====================================_=_ _ 

*/ 


/* getdfs -- Get Disk Free Space. Returns 
** information on disk capacity 

** and available space. 

** Input: 

** drive = target drive (A=0, 8=1, ...) 

** 


** Output: 

** avail = number of available clusters 

** total = total clusters on disk 

** sectsize = bytes/sector for disk 

** Returns: 

** Number of sectors per cluster 

** -1 if drive has invalid sectors/cluster 

*/ 

getdfs(drive, avail, total, sectsize) 
int drive; 

unsigned *avail, *total, *sectsize; 

( 

union REGS regs; 


regs.x.dx = drive+1; 
regs.x.ax = 0x3600; 
intdos(&regs, &regs); 

♦avail = regs.x.bx; 

♦total = regs.x.dx; 

♦sectsize = regs.x.cx; 
return(regs.x.ax); 

> 

/*■ parse -- Parse filename into FCB. This 
** function takes a command line and 

** parses it for a file name of the form 

♦♦ d:filename.ext. 


Bits in mode control parsing: 


** 


*/ 


bit 0=1 : ignore leading separators 
bit 1=1 : change drive id only if one given 
bit 2=1 : change filename only if one given 
bit 3=1 : change extension only if one given 

returns -1 if drive invalid. 


parse(filename, fcb, mode) 
char fi lename[]; 
struct ext_fcb *fcb; 
int mode; 


MAY 1986 


143 












PARAMETERS 


union REGS regs; 
union SREGS segregs; 

regs.x.si = (unsigned) filename; 
segread(&segregs); 
segregs.es = segregs.ds; 
regs.x.di = (unsigned) fcb; 
regs.h.al = (unsigned char) mode; 
regs.h.ah = 0x29; 
intdosx(&regs, &regs, &segregs); 
return((int) regs.h.al); 

> 

/* setdta -- Set Disk Transfer Address. 

** Sets the DOS disk transfer address 

** to be the address of buffer. 

*/ 

setdta(buffer) 
char buffer □; 

C 

union REGS regs; 


regs.x.ax = OxlAOO; 
regs.x.dx = (unsigned) buffer; 
intdos(&regs, Sregs); 

* searchfirst ** Search for First Directory Entry. 

* On entry fcb contains an extended 

* File Control Block with file name 

* and attribute bits set. On exit 

* fcb contains matched entry unless 

* return code is 255, in which case 

* no match was found. 


search_first(fcb) 
struct ext_fcb *fcb; 

< 

union REGS regs; 

regs.x.ax = 0x1100; 
regs.x.dx = (unsigned) fcb; 
intdos(&regs, &regs); 
return((int) regs.h.al); 

> 

/* search_next *■ Search for Next Directory Entry. 

** Same as search_first except for 

** use on subsequent calls. 

*/ 

searchnext(fcb) 
struct ext_fcb *fcb; 

( 

union REGS regs; 
regs.x.ax = 0x1200; 
regs.x.dx = (unsigned) fcb; 
intdos(&regs, &regs); 
return((int) regs.h.al); 

> 

/* currentdrv -- This function returns the drive number 
** of the current default drive (A=0, 

** B=1, C=2, etc.). 

*/ 

current_drv() 

C 

union REGS regs; 

regs.x.ax = 0x1900; 
intdos(&regs, &regs); 
return((int) regs.h.al); 

> 

/* select_drv ** This function changes the current default 
** drive to the specified drive (A=0, 

** B=1, C=2, etc.). Returns total number of 

** drives. 

*/ 

select_drv(drv) 
int drv; 
i 

union REGS regs; 

regs.x.ax = OxOEOO; 
regs.x.dx = (unsigned) drv; 


intdos(&regs, &regs); 
return((int) regs.h.al); 

> 

/* gettable -- This function returns a "far" pointer to 
** the parameters table for the specified 

** disk drive (A=0, B=1, etc.). 

*/ 

struct disktable far *get_table(drv) 
int drv; 

C 

struct disk_table far *t; 

union REGS regs; 
union SREGS segregs; 

regs.x.ax = 0x3200; 
regs.x.dx = drv+1; 
segread(Ssegregs); 
intdosx(&regs, &regs, &segregs); 

FP_SEG(t) = segregs.ds; 

FP_OFF(t) = regs.x.bx; 
return(t); 

} 

/* dtoa -- Takes date in Microsoft packed 
** format and converts it to an ASCII 

** string as : "Mmm, dd, yr n 

*/ 

dtoa(date, s) 
struct ms_date date; 
char s []; 

( 

static char *mo_str(] = < 

"Jan'', "Feb", "Mar", "Apr", 

"Jul", "Aug", "Sep", "Oct", 

}; 


"); 


"May", "Jun", 
"Nov", "Dec" 


strcpy(s, " 
if (date.m != 0) 
sprintf(s, "%s %2d, %4d", 

mo_str[date.m-1], date.d, date.y+1980); 


/* ttoa -- Takes time in Microsoft packed 
** format and converts it to an ASCII 

** string as : "HH:MMx", where x is 

** 'a' for A.M. and 'p' for P.M. 

*/ 

ttoa(time, s) 
struct ms_time time; 
char s[]; 

C 

int hr; 
char am_pm; 

hr = time.hh; 
strcpy(s, " "); 

if ((hr != 0) || (time.mm != 0) || (time.xx != 0)) t 
am pm = (hr >= 12) ? *p* : *a'; 
hr X* 12; 
if (hr == 0) 
hr += 12; 

sprintf(s, " %2d:%02d%c", hr, time.mm, am_pm); 


> 


-- This function calculates the logical 
"chaining" of cluster numbers in a File 
Allocation Table. Given an entry 
cluster number it calculates the next 
cluster using the array fat[]. 

If isi2 is TRUE then fat[] is assumed to 
contain 12 bit entries, otherwise fat[) 
is assumed to contain 16 bit entries. 


fatval(is12, cluster, fat) 
int is12; 
unsigned cluster; 
unsigned char fatC); 

( 

unsigned clword, cloffset; 
if (isi2) C 


144 


PC TECH JOURNAL 








Jt evniru With Turbo ASYNCH, you can be in constant 
MO I ilvll touch with the world without ever leaving 

the console. Rapid transit at its best. Turbo ASYNCH is designed 
to let you incorporate asynchronous communication capabilities 
into your Turbo Pascal application programs, and it will drive any 
asynchronous device via the RS232 ports, like printers, plotters, 
modems or even other computers. Turbo ASYNCH is fast, accurate 
and lives up to its specs. Features include... 

♦ Initialization of the COM ports allowing you to set all transmis¬ 
sion options. ♦ Interrupt processing. ♦ Data transfer between cir¬ 
cular queues and communications ports. ♦ Simultaneous buffered 
input and output to both COM ports. ♦ Transmission speeds up 

to 9600 Baud. ♦ Input and output queues as large as you wish. 

♦ XON/XOFF protocol. 

The underlying functions of Turbo ASYNCH are carefully crafted 
in assembler for efficiency, and drive the UART and programmable 
interrupt controller chips directly. These functions, installed as a 
runtime resident system, require just 3.2K bytes. The interface to 
the assembler routines is written in Turbo Pascal. 


Turbo POWER TOOLS is a PQMffft TfifiB C 
sleek new series of procedures tUffVKmit I UUl LO 
designed specifically to complement Turbo Pascal on IBM and com¬ 
patible computers. Every component in Turbo POWER TOOLS is 
precision engineered to give you fluid and responsive handling, with 
all the options you need packed into its clean lines. High perform¬ 
ance and full instrumentation, including... 

♦ Extensive string handling to complement the powerful Turbo 
Pascal functions. ♦ Screen support and window management, 
giv/ing you fast direct access to the screen without using BIOS calls. 

♦ Access to BIOS and DOS services, including DOS 3.0 and the 
IBM AT. ♦ Full program control by allowing you to execute any 
other program from within your Turbo Pascal application. ♦ Inter¬ 
rupt service routines written entirely in Turbo Pascal. Assembly 
code is not required even to service hardware interrupts like the 
keyboard or clock. 

Using Turbo POWER TOOLS, you can now “filter" the keyboard 

or even DOS, and create your own __. —— 

“sidekickable" applications. 


Bes«E^lVf WertS 


Phone— 


The Turbo Pascal PERFORMANCE PACKAGE ™ is for the serious 
Turbo Pascal programmer who wants quality tools to develop appli¬ 
cations. Every system comes with a comprehensive User Reference 
Manual, all source code and useful sample programs. They require 
an IBM PC or compatible, utilizing MS-DOS version 2.0 or later. 
There are no royalties for incorporating PERFORMANCE PACKAGE 
functions into your applications. 

Turbo POWER TOOLS and Turbo ASYNCH sell for $99.95 each, 
and they may be ordered directly from Blaise 
Computing, Inc. TO ORDER, call 
(415) 540-5441 


send tnew 

irboASVNC 

/„ sates'ax. 


Name— 

Shipps 

cwr-— 

l VtSAor 


Turbo Pascal is a trademark of Borland 
International. Turbo POWER TOOLS. Turbo 
ASYNCH and PERFORMANCE PACKAGE aw 
trademarks ol Blaise Computing Inc. IBM is a registered 
trademark ol Internationl Business Machines Coiporation. 
MS-DOS is a trademark of Microsoft Cmoratiort. 


BLAISE COMPUTING INC 


CIRCLE NO. 114 ON READER SERVICE CARD 




















PARAMETERS 


/* 12 bit FAT lookup */ 
cloffset = 3*cluster/2; 

clword = fat[cloffset] + (fat[cloffset + 1 ] « 8 ); 


int argc; 
char *argv[]; 

( 

if (cluster & 1 ) 


int ver; 

return (clword » 4); /* odd cluster */ 


static struct ext_fcb fcb = t 

else 


OxFF,0,0,0,0,0,0,0, 

return (clword & OxOFFF); /* even cluster */ 



} 


0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0 

else 


>; 

/* 16 bit FAT lookup */ 


static struct extfcb alt_fcb = { 

return (((unsigned int *) fat)[cluster]); 


OxFF,0,0,0,0,0,0,0, 

> 


191 191 191 191 191 

LISTING 5: SHOW.C 


0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0 

}; 

#include <stdio.h> 


ver = _osmajor* 100 +_osminor; 

#include <stdlib.h> 


if ((ver < MIN_VERSION) || (ver > MAX_VERSION)) 

#include <ctype.h> 


printf("Incorrect DOS version Xd\n", ver); 

#include <dos.h> 


else if (!((--argc > 0 ) ? 

#include <malloc.h> 


(parse(*++argv, &fcb.drive_id, 12) != 255) : TRUE)) 

#include <direct.h> 


printf("Invalid drive specification\n"); 

#include <string.h> 


else if (!((--argc > 0 ) ? 

/* show -- This program prints an enhanced directory 


(parse(*++argv, &alt_fcb.drive_id, 1) != 255) : TRUE)) 
printf("Invalid alternate drive\n"); 

** listing for a disk. The output resembles that 


else C 

** from the DOS DIR command, but includes the 


fcb.fcbhdr.attrib = 

** following additional information for each file: 


HIDDEN | ARCHIVE | SYSTEM | READONLY; 

** 


do_entry(&fcb, alt_fcb.drive_id* 1 ); 

** 1) The flag settings for the file, 'a' if the 


> 

** "archive" bit is set, 'h' if the "hidden" 


> 

** bit is set, 's' if the "system" bit is 

** set and 'r* if the "read only" bit is set. 


/* print_vname -- print volume name and 

** 


** current working directory. 

** 2) The actual amount of space allocated for 


*/ 

** storage of the file, reflecting the number 


print_vname(drive) 

** of clusters allocated to the file. 


int drive; 

** 

** 3) The cluster chaining for the file. Cluster 


struct extended_entry dir_entry; 

** numbers are shown in hex. Gaps are shown 


static struct ext_fcb vol_fcb = { 

** by starting a new line. 


OxFF,0,0,0,0,0,V0L_ENTRY,0, 

** 


171 171 191 171 191 1 ? • » ? 1 1 ? 1 <71 i?i # 

** Also displayed are totals for bytes in files, 


0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,0 

** total bytes allocated to files, number of files. 


}; 

** (broken down as contiguous and noncontiguous), 


int i, drive_save; 

** number of clusters used, and bytes of free 


char current_dir[MAX_CWD_LEN+1]; 

** space remaining. 


printf("\tVolume in Drive %c is ", (drive + 'A')); 

** 


** Usage: show [d:filename.ext [a:]] 


setdta(&dir_entry); 

** 


vol_fcb.drive_id = drive+ 1 ; 

** If the drive specification d: is omitted, the 


if (search_first(&vol_fcb) != 255) { 

** current default drive is assumed. If the 


for (i=0; i< 11 ; i++) 

** filename or extension are omitted, is 


putchar(dir_entry.body.filname[i]); 

** assumed. 

★ * 


putchar( '\n' ); 

) 

** If the alternate drive specification a: is given 


else 

** the program will compute the amount of space 


print f("Unlabeled\n"); 

** the specified files would require on this 


printf("\tDirectory of "); 

** alternate drive along with the actual amount of 


drivesave = current_drv(); 

** space currently available on that drive. 


select_drv(drive); 

** 


getcwd(current_dir, MAX_CWD_LEN); 

** Compiler: Microsoft C V3.0 


printf("%s\n\n", current_dir); 

** Options : /Zp (pack arrays) 


selectdrv(drivesave); 

** /Ze (support "far" extension) 


> 

** 

** External modules: 


/* print_flags -* print ASCII indication of file 

** absreadO 


** flag settings. 

★ ★ 


V 

** Version 1.35 February 6 , 1986 


print_flags(attrib) 

** 


char attrib; 

** Glenn F. Roberts 


C 

*/ 


char str[7]; 

^define TRUE 1 



#define FALSE 0 


strcpy(str, " "); 

#define MINVERSION 200 /* DOS 2.0 V 


if (attrib & ARCHIVE) str[2] = *a'; 

#define MAX_VERSION 310 /* DOS 3.1 */ 


if (attrib & HIDDEN) str[3] = *h«; 

#define MAX_CWD_LEN 63 


if (attrib & READONLY) str[4] = • r' ; 

#include "structs.h" 


if (attrib & SYSTEM) str[5] = 's'; 

printf("%s", str); 

#include "dosfns.h" 


> 

main(argc, argv) 


/* do_entry -* print output for file specification 


146 


PC TECH JOURNAL 








©Toni McCarthy 



Suggested retail price $149.90 
Educational site licenses available from 
Addison-Wesley Publishing. 

True BASIC Language System is a trademarkotTrue Basic, Inc. 
Macintosh is a trademark of Apple Computer Corp. 

Amiga is a trademark of Commodore Business Machines. 
IBMisarrademarkoflntemational Business Machines Corp. 


You know John Kemeny and Tom Kurtz. They 
developed die original BASIC. Now the/re 
back with an even better version: a flexible, 
easy-to-use structured programming language 
diey call True BASIC.™ 

True BASIC oilers a frill selection of control 
structures. External procedures can be 
compiled into libraries, making True BASIC 
faster and more powerful dian anyodier 
programming language. 

True BASIC has a complete matrix algebra 
package and die best graphics ever in a higher 
level language. And there are optional libraries 
for diings like sorting and searching and 3-D 
graphics. 

Taie BASIC programs run on an)' computer 
which runs True BASIC, good news for users 
widi more dian one kind of PC. 

You’ll love True BASIC. Whether you’re 
programming for your own applications, 
teaching odiers, or developing products to go 
to market, send in die coupon below to receive 
a free demo disk. 


Available for die IBM-PC™ and compatibles, 
Apple Macintosh,™ and Commodore Amigti 
To order, talk to your local 
dealer or call (603) 

643-3882 TODAY! 



iftsic 


It 


39 South Main Street, 

Hanover,NH 03755 (603)643-3882 


My computer is: □ IBM-PC/compatible 

□ Apple Macintosh 

□ Commodore Amiga 

□ I’D LIKE TO GET MY FREE DEMO DISK. 

□ I’d like more information on the True BASIC 
language products. 

□ Pm ready to buy. Call me and tell me how. 

□ I’d like information on True BASIC 
Mathematics Series and other products. 

Name_ 


Title. 


Company/University. 

Address_ 

City, State, ZIP_ 

Telephone_ 


CIRCLE NO. 191 ON READER SERVICE CARD 












PARAMETERS 


** as parsed in fcb. 

*/ 

do_entry(fcb, altdrive) 
struct extfcb *fcb; 
int alt_drive; 

C 

unsigned cluster, avail, total, sectsize; 

int i, drive, num_files, num_contig, total_clusters; 

int twelve_bit_fat, cluster_count, alt_clsize, alt_total; 

long size_total, actualtotal; 

struct extended_entry direntry; 

struct disktable far *get_table(), far *tbl, far *alt_tbl; 
unsigned char *fat, cre_date[15], cre_time[15]; 

/* Get target drive information */ 

drive = (fcb->drive_id == 0) ? current_drv() : fcb->drive_id-1; 

printvname(drive); 

tbl = gettable(drive); 

tuelve_bit_fat = tbl->last_cluster < MAX_12BIT; 

/* If alternate drive given, look up drive info. */ 
if (altdrive != -1) < 
alt_tbl = get_table(alt_drive); 

alt_clsize = alt_tbl->sector_size * (alt_tbl->cluster_size+1); 

> 

/* Read File Allocation Table */ 

fat = (unsigned char *) malloc(tbl->fat_size*tbl->sector_size); 
absread(drive, tbl*>fat_size, tbl->fat_start, fat); 

/* Search for first match of file specification */ 
setdta(&dir_entry); 
if (search_first(fcb) == 255) < 
printf("No files match '%c:", 'A'+drive); 
for (i=0; i<11; i++) t 

if (fcb->file_name[i] != ' ') 
putchar(fcb->file nameti]); 
if (i == 7) 
putchar(». 1 ); 

> ___ 


printf ( ,M \n"); 

> 

else { 

/* Initialize and print headers */ 

num_files = num_contig = total_clusters = alt_total = 0; 
sizetotal = 0L; 

printf("Filename Ext Bytes Actual "); 

printf(“Last Modified Flag Clusters\n“); 

/* Loop over matched files */ 
do { 

/* Print file name and extension */ 
for (i=0; i<11; i++) { 
putchar(dir_entry.body.fiInameCi]); 
if (i == 7) 
putcharC '); 

> 

/* Print size from directory and actual size */ 
printf("%9ld“, dir_entry.body.fiIsize); 
size_total += dir_entry.body.fiIsize; 
if (alt_drive != -1) C 

alttotal += dir_entry.body.fiIsize/altclsize; 
if (dir_entry.body.filsize % alt_clsize != 0) 

++alt_total; 

> 

if (dir_entry.body.first_cluster != 0) 
for (cluster_count=0, 

cluster=dir_entry.body.first_cluster; 
cluster!=LAST_CLUSTER(twelve_bit_fat); 
cluster = fatval(twelve_bit_fat, cluster, fat)) 
cluster_count++; 

else 

cluster_count = 0; 
total_clusters += cluster_count; 
printf(“%9ld ", (long) clustercount * 

(long) (tbl->cluster_size+1) * (long) tbl->sector_size); 




AN ALMOST FOOLPROOF 
WAY TO MAKE 
ARCHIVAL BACKUPS OF 
PROTECTED SOFTWARE! 

The Copy II PC Option Board is an add¬ 
in board that will give your PC the same 
disk duplication technology used by 
most disk duplication firms (who put the 
copy protection on software in the first 
place). 

DUPLICATES NEARLY 
ALL PROTECTED 
DISKETTES. 

The Option Board can easily backup 
almost all protected diskettes for the 
IBM PC (except those “protected” by 
physical disk damage), including ones 
software-only backup programs can’t 
touch. It even includes a track editor 
that will allow the more technically 
inclined to look at protection schemes 
and edit any data on a diskette. 


The Option Board uses a full size slot in 
an IBM PC, XT or AT (with at least 1 
360KB floppy disk drive), Zenith 150, 
Compaq Deskpro. Extra $15 cable 
required for Compaq Portable, HP Vectra 
and Tandy 1000. Tandy 1000 requires 
256K of memory. 

Call 503/244-5782, M-F, 8-5:30 (West 
Coast time) with your jflft in hand. 
Or send a check for 
$95.00 U.S. plus $3 s/h, $15 overseas. 
Please specify your computer brand 
when ordering so we can send you 
the correct cable. 

$95.00 

Central Point Software, Inc. 

9700 S.W. Capitol Hwy., #100 
Portland, OR 97219 

CentmlRmU 

Software 

JIMCMPORATED 


Backup utilities also available for the Macintosh, Apple li and Commodore 64/128. 


CIRCLE NO. 121 ON READER SERVICE CARD 


ORGANIZE YOUR COPES OF 
PC TECH JOURNAL 

Make your magazine collection a handsome addition to 
your decor. These durable library-quality cases and 
binders will protect and organize your collection, make 
individual issues easy-to-find. They’re made of luxury- 
look leatherette over high-quality binder board. And both 


publisher, 
dates and volumes. 


MAGAZINE BINDERS OPEN BACK CASES 


J your _ 

individual snap-on 
rods, combinmo them 
into one volume. 
$7.95 each: 3 for 
$22.50; 6 for $42.95 
Mixed titles OK tor 
quantity prices. 


store your issues for individual 
reference. $6.95 each; 3 for 
$19.75:6 for $37.50. Mixed titles 
OK for quantity prices._ 


For Fast Service Call 1-212-503-5319 


TE£H P.O. Box 5120 Philadelphia. I 
JOURNAL Please send: Quantity 


_ Cases 


_ Binders 


PAYMENT ENCLOSED $_ 


_*Add $1.00 per 

order for postage and handling. Outside USA add $2.50 
per unit ordered. Send US funds only. 

CHARGE MY: ($10 minimum) 

□ American Express □ Visa □ MasterCard 


Card No. _ 


_Exp. Date _ 


Mr./Mrs./Ms_ 


print full name 


Address- 


City/State/Zip- 


148 


* Residents of PA add 6% sales tax. 

PC TECH JOURNAL 


































NEW $89.95 PRICE! 

30-DAY MONEY-BACK GUARANTEE 


Now Everest’s EditCheck 
brings you a PC environment platform 
for C source program development 


EditCheck is a new kind of programmer’s tool that provides 
an integrated C Language source code programming plat¬ 
form. It improves your productivity, and reduces your frustra¬ 
tion caused by making multiple cycles between a program 
editor and a compiler to manually locate and eliminate syntax, 
semantic, and other errors in your programs. 

You can think of EditCheck as a powerful editing and 
program checking facility that works as a front-end compan¬ 
ion to your C compiler. 

EditCheck consists of a window-oriented full screen edi¬ 
tor, an extensive C language program checker, a file access 
facility, and a context sensitive on-line help facility, all united 
in a consistent, integrated environment platform that exten¬ 
sively uses a fast windowing system. 

All EditCheck commands can be executed through sin¬ 
gle-keystrokes, or thru a fast pop-up menu system, or by a 
combination of keystrokes and menu choices. All keystroke 
commands can be user reassigned to any keyboard key. 

Intra & Inter-module Checking While 
Editing 

The heart of EditCheck’s contribution is a powerful C 
language program checker which provides strong type check¬ 
ing from within the editing environment. The checker does a 
thorough evaluation of your source code and detects common 
errors and questionable practices, including many that most C 
compilers will overlook. 

The checker detects unused functions, and unused 
function arguments. At your option, unused external variables 
are also reported. 

It also looks for functions called with a varying number 
of arguments. 

In addition to the standard type checking performed by 
most compilers, EditCheck also looks for function arguments 
that do not agree in type with the arguments expected by the 
function. It looks for enumerated variables that are assigned 
values of a type other than that of the variable or that are 
used in operations not valid for enumerated types. 

EditCheck complains about illegal type casts. At your 
option, it reports the assignment of longs to ints, of longs to 
chars, and of ints to chars. 

The checker always reports when pointers refer to ob¬ 
jects of different type. 

If you set the environment option on, it checks for multi¬ 
ple definitions when all external symbol names are truncated 
to six characters. The EditCheck checker looks for names that 
would conflict if your Linker has a specific limit on the number 
of characters checked. 

EditCheck’s check facility tests for consistency of the ex¬ 
ternal and global declarations of variables, functions and 
function arguments across multiple program modules. It also 
tests for consistency of the number of arguments between a 
function declaration and calls to the function. 

At your option, the checker will also test for redefinition 
of an already defined symbol. 

The checker runs interactively on part or all of a source 
program file, or group of program files. It opens a context 
window on the file where the error was detected and high- 


EVEREST SOLUTIONS, INC. 
3350 SCOTT BLVD, BLDG 58 
SANTA CLARA CA 95051 
408-986-8977 

CIRCLE NO. 133 ON READER SERVICE CARD 


lights the token which was being parsed when the error was 
detected. It also opens a message window with a descriptive 
error message, and presents a menu of options which you 
can take to correct the error. 

These checker menu options on errors include: Show 
What’s Legal, Delete, Modify, Edit, Backward Expand, Contin¬ 
ue, Abort, and Forward Expand. 

The checker allows you to provide a program module 
list for complete checking or checking of unchecked modules. 
You can also check the modules in this list in batch mode if 
you desire. 

The interactive intra-module and inter-module checking 
capabilities in EditCheck will save you many time consuming 
and aggravating trips between an editor and compiler. 

Window-oriented Fuli Screen Editor 

EditCheck’s editor allows you to edit text in the current 
window and to copy or move text from another window to the 
current window. The editor supports both horizontal and verti¬ 
cal scrolling, and allows you to create marks and zones, move 
the cursor to specified objects, search and replace (case sen¬ 
sitive or insensitive), change case of the text, control input 
mode, etc. 

The editor uses a file paging scheme which allows you 
to edit and check modules larger than your available RAM 
memory. Any ASCII file may be read by the editor. Files may 
be inserted or appended to the current window file. 

The editor is both key-command driven and menu driv¬ 
en, or mixed usage. Key-commands are fully user reassign- 
able. 

Windows, Files, and More 

The EditCheck environment is window-oriented. You may 
have as many windows open at the same time as you wish. 
Windows may overlap or be tilted, at your option. You may 


switch back and forth between windows, and move or copy 
information between them. 

The windows which you open may display different files 
or multiple different areas of the same file. You control the lo¬ 
cation and size of all user windows, and can save the con¬ 
tents of a window, hide it, bury it, close it, or show it. 

Windows are also extensively used by the EditCheck 
system to build commands, display help, show a module list, 
display messages, show program context while checking, etc. 

A group of environment commands are available to 
change the coloring of windows (with a color graphics adapt¬ 
er and display), set the way you are notified of errors, and 
redefine the meaning of keys on the keyboard. 

Context Sensitive Help 

Help is available to you in several ways. You may use a 
function key to get context sensitive help particular to where 
you are in the system. You may select the help index, and 
choose a topic of interest. You may also ask the help subsys¬ 
tem to search for a particular word of interest within the entire 
system. Display of current keybindings is also available. 

No Risk Offer 

EditCheck has been available from Everest for a few 
months under the name H.E.L.P. (Help, Editing, Lint, Produc¬ 
tivity) at an introductory price of $295. We’ve changed the 
name and we’ve changed the deal. 

EditCheck is now available at the "Borland-like” price of 
$89.95, shipping included to USA locations. We offer a uncon¬ 
ditional 30 day money-back guarantee. EditCheck is not copy 
protected. Product upgrades will be available to registered 
users for one year for $10.00 each. 

Let us take the risk, and you enjoy the productive bene¬ 
fits of this new class of product. Order today by mail or by 
phone. 





PARAMETERS 


/* Print creation date, time and flag settings */ 
dtoa(dir_entry.body.create_date, cre_date); 
ttoa(dir_entry.body.create_time, cretime); 
printf("%s %s", credate, cre_time); 
print_flags < dirent ry.body.attributes); 

/* Print cluster chaining information */ 
num_files++; 

if(do_chain(dir_entry.body.first_cluster, fat, twelve_bit_fat)) 
num_contig++; 

> while (searchnext(fcb) != 255); 

/* Print totals and summary information */ 

print f("================= ===== =============\n"); 

printf("TOTALS "); 

printf("%9ld", size_total); 
printf("%9ld\n", (long) total_clusters * 

(long) (tbl->cluster_size+1) * (long) tbl->sector_size); 
printf("\n\t%d Files, %d Contiguous, ", 
num_files, num_contig); 

printf("%d Noncontiguous\n", (num_files*num_contig)); 
printf("\tFiles use %d clusters SI Xd bytes/cluster\n", 

total_clusters, (tbl->cluster_size+1) * tbl->sector_size); 
getdfs(drive, Savail, Stotal, Ssectsize); 
printf("\t%lu bytes free\n", (long) avail * 

(long) (tbl->cluster_size+1) * (long) sectsize); 

/* Show space needed on alt. drive (if requested) */ 
if (alt_drive !=*-1) C 

printf("\n\tFiles would require %lu bytes ", 

(long) alt_total * (long) alt_clsize); 
printf("on drive %c\n", alt_drive + ’A'); 
getdfs(alt_drive, Savail, &total, Ssectsize); 
printf("\t%lu bytes free on drive Xc\n", 

(long) avail * (long) alt_clsize, altdrive + 'A'); 

> 

> 

> 


/* do_chain *• print chaining of clusters in FAT 
** (Handles both 12 bit and 16 bit 

** FAT entries.) 

*/ 

do_chain(start, fat, isi2) 
unsigned start; 
unsigned char Mat; 
int isi2; 

C 

unsigned old_cluster, new_cluster; 
int i, extentsize, is_contiguous; 
is_contiguous = TRUE; 
if (start >= 2) C 
old_cluster = start; 
extent_size = 1; 

printf((is12 ? " [%03x]":" [%04x]"), old_cluster); 

do i 

if (extentsize == 0) { 
is_contiguous = FALSE; 
for (i=0; i<60; i++) 
putcharC '); 

printf((is12 ? " [%03x]":"[%04x]"), old_cluster); 
extent_size++; 

> 

newcluster = fatval(is12, old_cluster, fat); 
if (new_cluster != (old_cluster + 1)) C 
if (extentsize >1) 

printf((is12 ? [%03x]":"*[%04x]"), oldcluster); 

extent_size = 0; 
putchar('\n'); 

) 

else 

extent_size++; 
old_cluster = new_cluster; 

> while (old_cluster != LAST_CLUSTER(is12)); 

> 

else 

putchar('\n'); 
return(is_contiguous); 


THE BEST PC TEXT EDITOR JUST GOT BETTER. 
ANNOUNCING SPF/PC™ 1.82 


The best full screen editor for the IBM PC now extends support for large files to all PC’s, not just 
the IBM/AT. Invoke your favorite program/compiler from within Edit at any time regardless of file 
size. CTC’s SPF/PC tm 1.82 still looks like its mainframe cousin but executes faster with more options. 


NEW FEATURES 

• PAGING - Editing limited only 
by capacity of expanded/extended 
memory or hard disk. 

• SPEED - Search 1,500,000 byte 
file with IBM AT in less than 
13 seconds. By comparison, 
the IBM 3081 mainframe takes 
48 seconds. 


$195 

UPGRADES only $50 
ADD $6 shipping 
Canada $10, Foreign $15 



Payment in U.S. funds by 
check or bank wire (Bank 
of America, San Francisco 
account 05583-05454). 

Net 30 to D&B rated firms. 


^ "II _ _ — __ _ Command Technology Corporation 

— ” ZZ 1900 Mountain Boulevard 

~~ ~ .ZZL ~ Oakland. California 94611 


TO ORDER 
SPF/PC. 


• Compatible with IBM and 
Novell Networks 

• Modifiable HEX display 

• Line length to 954 bytes 

Minimum Requirements: 

DOS 2.00-3.10,192KB memory, 
any IBM PC or true compatible 
or TI Professional. 


Telephone: (415) 339-3530 
Telex: 509330 COMMAND TECH 


150 


CIRCLE NO. 227 ON READER SERVICE CARD 


PC TECH JOURNAL 


























Why your next generation of 
products should use our 5th 
generation tools. 


The Arity Expert Systems Development 
Package 


|lhe Arity SQL Development Package 


arity 


We design and distribute 
high quality, serious 
application software for 
the IBM PC, XT, AT 
and all MS-DOS 
compatibles. 


^ Arity/P n 


°l°9 C °mpiler and Interpreter V4 



> 

> 

-s 

-1 



31 

CO 


n 

aT 

CD 

5“ 

CD 

3 

aT 

-i 

o 

n 

a> 

=r 


Q 

CD* 

3 

3 

CD 

CD 


o 1 

o_ 

o_ 



-*■ 




Arity s integrated family of programming tools allows you to combine software written in 
Arity/Prolog, the best of the fifth generation languages, with Arity SQL, the best of the 
fourth generation languages, and with conventional third generation languages such as 
C or assembly language to build your smarter application. 

You can use Arity/Prolog to build expert systems using the Arity Expert Systems 
Development Package. Or to build natural language frontends. Or to build intelligent 
information management systems. Arity/Prolog lets you build advanced technology into 
your vertical applications package. 

And more... 

That’s not the whole story. Arity s products are all designed to be fast, powerful, serious. 
Each of our products contains unexpected bonuses. Such as a one gigabyte virtual 
database integrated into Arity/Prolog. The most powerful of its kind on a PC. 

Quality first. Then price. 

In order to be the best, we had to prove it to our customers. Our tradition of quality 
software design is reflected in every product we sell. Quality first. Then price. And we 
always provide the best in customer support. 

Our products are not copy protected. We do not charge royalties. We offer generous 
educational and quantity discounts. And we have a 30 day money back guarantee. 

fry us to know that we keep our promise on commitment to quality and reliability. Ty 
us by using our electronic bulletin board at 617-369-5622 or call us by telephone-you 
can reach us at 617-371-2422. 

Or fill in this coupon. Whether you order today or not, let us send you full descriptions 
of our integrated family of Arity products. 

CIRCLE NO. 136 ON READER SERVICE CARD 

Please complete this form to place vour order and/or request detailed information. 

Quantity Into only 

Arity/Prolog Compiler and Interpreter V4 . $795.00 _ _ 

Arity/Prolog InterpreterV4. $550.00 _ 

Arity Standard Prolog. $ 95.00 _ 

Arity SQL Development Package. $295.00 _ _ 

Aritv Expert System Development Package . $295.00 _ _ 

Arity Screen Design toolkit . $ 49.95 _ _ 

Arity Kile Interchange Toolkit. $ 49.95 _ 

IX) IAL AMOUN I (MA residents add .5% sales tax) (These prices include shipping to all l '.S. cities) $_ 

NAM E__ 

SHIPPING ADDRESS_ 

CITY/STATE/ZIP_ 

TELEPHONE_ 

Payment: □ Check □ PO □ AMEX □ VISA □ MC 

Card #---Exp. date_ 

S ignatu re____ 

ARITY CORPORATION • 558 BAKER AVENUE • CONCORD, MA 01742 ~ 


arity 














































THE ULTIMATE IN ACCELERATION 


X3 


ITS SIMPLY THE VERY BEST MULTIFUNC¬ 
TION ACCELERATOR FOR YOUR PC, 
PC/XT, AND COMPATIBLES AT THE 
MOST AFFORDABLE PRICE! AND 
IT USES NO EXPANSION SLOT! 

NOW SHIPPING WITH A 30 DAY MONEY 
BACK GUARANTEE 

YOUR COMPUTER DEMANDS PRODUC¬ 
TIVITY FUNCTIONS IN ORDER TO GIVE YOU 
ITS BEST! 

PROCESSING POWER 200% TO 800% 

X3 HAS UP TO 8 TIMES THE POWER OF A PC, 
UTILIZING BOTH A 10 MHZ SUPER 88 AND 
THE EXISTING CPU FOR DUAL PROCESSING 
THAT OUTRUNS 80286 MACHINES. X3 ALSO 
HAS A SOCKET FOR AN 8087 MATH CO¬ 
PROCESSOR (5, 8, OR 10 MHZ). 

MORE RAM 200% 

X3 PROVIDES FOR TWO 640 KB MEMORY 
SPACES. THE 640 KB ON THE X3 IS FULLY 
AVAILABLE FOR YOUR APPLICATION PRO¬ 
GRAMS, THE 640 KB IN THE PC IS RESERVED 
FOR I/O BUFFERING. 

HIGH PERFORMANCE I/O 15,000% 

WAITING FOR I/O CONSUMES THE BULK OF 
YOUR COMPUTER TIME. X3 REMOVES THIS 
BOTTLENECK WITH SUCH STANDARD FEA¬ 
TURES AS DISK CACHEING, RAM DISK, PRINT 
SPOOLING, AND ADDITIONAL KEYBOARD 
BUFFERING. DUAL PROCESSING AND THE 
ADDITIONAL RAM GIVES UP TO 150 TIMES 
IMPROVEMENT IN I/O RESPONSIVENESS. 
YOUR PC MAY HAVE TO WAIT FOR YOU! 



$449 

PRICE INCLUDES 128 KB OF RAM 
ADDITIONAL RAM IS AVAILABLE 
AT $35 FOR EACH 256 KB BANK 

YOUR EXPERIENCE DEMANDS THAT YOU 
ACCEPT ONLY TOP QUALITY AT THE BEST 
PRICE! 

COMPATIBILITY 100% 

X3 PROTECTS YOUR SOFTWARE INVESTMENT. 
IT IS TOTALLY COMPATIBLE EVEN WITH COPY 
PROTECTED SOFTWARE AND IT WORKS WITH 
MOST EMS CARDS. 

WARRANTY 100% — 1 YEAR 

SUPPORT 100% USA 

X3 IS MANUFACTURED AND SUPPORTED 
FROM OUR FACILITIES IN COLORADO. 

SIMPLICITY 

X3 INSTALLATION IS QUICK AND EASY, JUST 
PLUG IT IN ANDTURN ITON. DOCUMENTA¬ 
TION IS CLEAR TO THE NOVICE AND COM¬ 
PLETE FOR THE TECHNICAL EXPERT. 

REMEMBER! 

X3 DOES NOT USE AN EXPANSION SLOT, IT 
PLUGS DIRECTLY INTO THE EXISTING 8087 
SOCKET. 



TRAILRIDGE RESEARCH, INC. 

14300 WEST 50THAVE. 
GOLDEN, CO 80401 
303-441-9109 


NO SURCHARGE FOR 
VISA OR MASTERCARD 

DEALER INQUIRIES INVITED 


CIRCLE NO. 189 ON READER SERVICE CARD 








These C interpreters 
facilitate learning 
the language and 
writing small 
programs ; but a 
full-fledged program 
development environ¬ 
ment is yet to come. 



MARTY FRANZ 


L earning C is a rite of passage for 
the serious programmer. The lan¬ 
guage is expandable enough to 
handle big programs and expressive 
enough to permit hardware-dependent 
and time-critical code. But this power 
has its price: the syntax will not catch 
many programming mistakes, and 
debugging is an arduous process. 

In theory, an interpreter for this 
traditionally compiled language can 
offer the power without the price. To 
appreciate the difference, consider a 
typical programming task: a program¬ 
mer must test a new function within an 
existing library and environment. To do 
so with a C compiler, he must construct 


a dummy main program around the 
function, then wait while the various 
compiler programs perform the trans¬ 
formations and write the temporary 
files. A C interpreter, on the other hand, 
will execute the function without a 
main program and prompt for param¬ 
eters at runtime. The interpreter’s trans¬ 
formation from source to code is per¬ 
formed in RAM; it is quick and trans¬ 
parent to the user. The programmer 
can single-step through source code 
line by line, checking values and alter¬ 
ing variables along the way. 

The designer of a C interpreter 
faces a formidable task. Behind the 
scenes, numerous header and library 


MAY 1986 


153 


ILLUSTRATION • AKIO MATSUYOSHI 

















C INTERPRETERS 


files must be coordinated in a user- 
transparent linking process. Maximum 
compatibility with the many compiled C 
libraries on the market must be main¬ 
tained. In addition, an attempt must be 
made to implement the C language 
specification as set forth in Kernighan 
and Ritchie’s The C Programming Lan¬ 
guage (Prentice-Hall, 1978). Full imple¬ 
mentation of this standard will be im¬ 
possible because some C constructs 
cannot be applied to a PC interpreter 
environment (for example, the storage 
class specifier, described below). 

Given the programming difficulties, 
it is not surprising that the first C inter¬ 
preters were almost unusable. Bugs 
were rampant, error checking often was 
inferior, and the documentation was so 
sparse that the interpreter was as chal¬ 
lenging as an adventure game. But 
progress has been made. The C inter¬ 
preters reviewed here offer a level of 
performance that makes them useful as 
debugging and learning tools. 

The four products reviewed are C- 
terp by Gimpel Software, Instant-C by 
Rational Systems, Introducing C by 
Computer Innovations, and Run/C Pro¬ 
fessional by Lifeboat Associates. (The 
Mark Williams Let’s C package was 
judged to be a compiler and is not in¬ 
cluded.) In addition to an individual 


TABLE 1: C Interpreters ’ Features Comparison 



C-TERP 

INSTANT-C 

RUN/C 

INTRO. C 

Version tested 

2.131 

1.61 

1.0P 

1.00H 

Disk space (KB) 

110 

250 

190 

81 

RAM required (KB) 

256 

320 

320 

128 

Full K&R language 

Yes 

Yes 

Yes 

— 

Standard library 

Yes 

Yes 

Yes 

— 

PC-specific library 

Yes 

Yes 

Yes 

Yes 

Sample programs 

Yes 

Yes 

Yes 

Yes 

Library source code 

Yes 

Yes 

Yes 

— 

Memory model 

Large 

Large 

Large 

Small 

Editor 

Yes 

Yes 

Yes 

Yes 

Debugger 

Yes 

Yes 

Yes 

Yes 

Load libraries 

Yes 

Yes 

Yes 

— 

Assembler interface 

Yes 

Yes 

Yes 

— 

OBJ output 

— 

— 

- 

— 

EXE output 

— 

Yes 

- 

— 


This field of C interpreters includes three complete C language implementations 
and one product (Introducing C) designed for learning purposes only. 


and comparative assessment of the 
products, special attention is given to 
the interpreters’ operating environ¬ 
ments, including the editing and debug¬ 
ging capabilities. Their basic features 
are listed in table 1. 

All four operate under DOS and 
none is copy protected. C-terp and 
Instant-C provide a special installation 


C 


What you’ve been 
missing. . . 


Interactive-C” 

Revolutionary New Programming 
Development System 

At last, a full-function, professional- 
quality C development system to optimize 
your creative abilities. Stop waiting for 
editors, compilers, and linkers that waste 
your valuable time. Stop debugging in 
hex at the machine level. Easily DOUBLE 
or TRIPLE your productivity with this 
totally-integrated, fully-interactive pro¬ 
gramming environment: 

• Complete K & R interpreter 

• Full-screen program editor 

• Source-level symbolic debugger 

• Command processor shell 

• Execution profiler 

Interactive-C requires an IBM PC or 
100% compatible, MS-DOS 2.0 or later, 
and 256K RAM. Interactive-C is available 
for only $249 and comes with a risk-free 
30 da y money back guarantee. 

Enjoy the combination of power , flex¬ 
ibilit y, and ease of use that will make 
Interactive-C the most valuable product¬ 
ivity tool you own. Order Today. 



• Single or dual CRT configuration 

• Multi-window user interface 

• 40x25 and full-screen graphics support 

• Detailed syntax & run-time diagnostics 

• Precise cursor error positioning 

• Trace, breakpoints & data watchvalues 

• Several varieties of STEP 

• Full-screen traceback 

• Command-level “immediate” mode 

• Multiple source files 

• Compiled module interface 

• Much, Much, More!! 


For more information or to place an 
order contact: 

IMPACC Associates, Inc. 

P.O. Box 93 

Gwynedd Valley, PA 19437 
215-699-7235 


.Trademarks: IBM - International Business Machines; MS-DOS - Microsoft Corp.; Interactive-C - IMPACC Associates. 
CIRCLE NO. 132 ON READER SERVICE CARD 


procedure to change screen and key¬ 
board attributes, augmenting compati¬ 
bility. C interpreters do not allow the 
programmer to chose memory models 
the way C compilers do. However, C- 
terp, Instant-C, and Run/C use four-byte 
pointers, providing access to the full 
640KB memory. Introducing C has only 
a small model so all code and data 
must fit in one 64KB segment. 

The disk space requirement shown 
in the table is the minimum amount 
needed to enter and run programs us¬ 
ing the interpreter. All four can operate 
stand-alone—that is, without the need 
for additional editors, linkers, or librar¬ 
ies. The minimum disk space, therefore, 
is the size of the interpreter .EXE file it¬ 
self. For most small programming jobs, 
a dual-floppy-drive system should be 
enough for any of these products. For 
larger applications that require addi¬ 
tional libraries, a hard-disk system 
would be more convenient. The figures 
for RAM requirements were obtained 
from the vendors’ documentation. All 
four are quite reasonable. Note that In¬ 
troducing C is the only interpreter for 
which the RAM and diskette storage re¬ 
quirements are modest enough that the 
package can be run on a P Cjr. 

Each of the products has some lan¬ 
guage limitations (which are listed in 
table 2). C-terp, Instant-C, and Run/C 
impose only minor restrictions, similar 
to those programmers encounter when 
converting programs among different C 
compilers. These three interpreters sup¬ 
port the full Kernighan and Ritchie stan¬ 
dard for the language; however, none 
of the interpreters provides any of the 
proposed ANSI extensions. Introducing 


154 


PC TECH JOURNAL 






































TABLE 2: C language Restrictions 


ANNOUNCING 


C-TERP 

Minor restrictions in preprocessor; #line not supported. 

INSTANT-C 

Comments may not be placed in the middle of an expression. 
Minor restrictions in preprocessor; #line not supported. 

RUN/C 

No preprocessor directives other than #include or #define. 
Typedefs cannot nest. 

No multiline string constants. 

No forward references in aggregate declarations. 

No multidimensional arrays. 

No explicitly declared statics and externs. 

No struct, union, dot (.), and arrow (-►) operators. 

No initializers. 

No preprocessor directives except simple #define. 

No typedef. 

No casts. 

No goto and labels. 


Storage-class specifiers (register specifiers, for example) cannot be implemented 
because interpreters must allocate variables using a common symbol table and 
keep additional information about the variable’s scope, type, and length. 


ZIPCALC 

FOR 

TURBO PASCAL™ 

Capability to go from screen to screen 
in a fraction of a second will provide 
your software the decisive competitive 
edge - ZIPCALC makes this possible 
for both text and numbers. 

INSTANT TEXT DISPLAY 

Standard Pascal "write" procedure 
takes several seconds to fill the screen 
with text data. ZIPCALC fills the 
screen with the same text in less than 
1/10 second. Full instant windowing 
capability is also included. 

ULTRA FAST NUMBER DISPLAY 

Writing real numbers adds crucial time 
to convert the number to a printable 
string. ZIPCALC removes this time 
barrier by providing a 32-bit Long 
Integer data type that converts to a 
printable string 7 times faster. 


C is very restricted. It supports only a 
subset of the C language, but C without 
structures and typedefs is not really C at 
all. These inherent limitations are 
enough to prevent casual programmers 
from running source code from a users’ 
group or bulletin board. This subset is 
acceptable only for learning the lan¬ 
guage at a very basic level. (Introducing 
C was not designed as a professional 
program development tool. It is an inte¬ 
gral part of a training system and was 
developed solely ^s a training tool.) 

These interpreters also are lacking 
in the area of preprocessor directives: 
Introducing C supports none and the 
others support only a few. Some larger 
C programs use complex preprocessor 
operations with #define and macros, 
and they may have to be fine-tuned by 
hand to load under these interpreters. 
This is not a serious problem: any pro¬ 
grammer who has converted from one 
PC C compiler to another generally 
learns to perform these tasks, but it is 
an aggravation nonetheless. Run/C also 
requires that typedefs be defined be¬ 
fore structures that use them. 

Storage-class specifiers (register 
specifiers, for example) cannot be used 
by interpreters because interpreters. 
must allocate variables using a common 
symbol table and keep additional infor¬ 
mation about the variable’s scope, type, 
and length. These interpreters simply 
ignore storage-class specifiers; there¬ 


fore, programs that use them can be 
loaded and run without diagnostics. 

This is not a deviation from the stan¬ 
dard, however; the Kernighan and 
Ritchie book says that register specifiers 
are a suggestion for the compiler, not a 
requirement. As reference, note that 
several of the C compilers reviewed in 
the January 1986 issue (see “The State 
of C,” William J. Hunt, p. 82) do not 
support register variables. 

A much more serious restriction is 
in the interpreters’ omission of the 
function exit commands setjmp( ) and 
longjmp(). These functions are used in 
many libraries and programs, such as 
XLISP and Que book’s ISAM, and re¬ 
quire a detailed knowledge of the inter¬ 
preter’s memory management scheme. 
Implementing them with an external 
library or a hand-crafted assembly 
language program would be difficult. 

LIBRARY SUPPORT 

C-terp, Instant-C, and Run/C implement 
the complete standard C library. But 
again, Introducing C is limited It omits 
random-file functions such as lseek(), 
creat( ), and open( ) and memory man¬ 
agement functions such as alloc() and 
free( ). These limitations suggest its use 
only for the novice C programmer. 

All four interpreters include func¬ 
tions beyond those in the standard 
UNIX library: C-terp offers extra math 
and interrupt functions. Instant-C has 


HIGH SPEED COMPUTATION 

The Long Integer data type is the ideal 
alternative to the real data type for a 
wide variety of financial and other 
applications because of its dramatic 
increase in computation speed. 
ZIPCALC provides a full assortment of 
procedures and functions for Long 
Integer arithmetic, shifts, compares, 
conversions to other data types, and 
full string conversion (decimal, dollar, 
hex, binary). ZIPCALC puts the power 
of a 32-bit processor at your fingertips 
in convenient Pascal callable form. 

EASY TO LEARN EASY TO USE 
ZIPCALC consists of 35 highly 
optimized procedures and functions, 
most assembler coded. Tutorial User's 
Guide, programmed demonstrations, 
and many examples make ZIPCALC 
easy to learn and easy to use. 

IBM PC & TRUE COMPATIBLES 

$45 including N.Y. sales tax & shipping 

DYNfiMCJS 

MICRO-DATA SYSTEMS, INC. 

1045-T Gravel Road 
Webster, N.Y. 14580 
(716) 671-5866 

Turbo Pascal is a registered trademark of Borland 
International Inc. 



MAY 1986 


CIRCLE NO. 104 ON READER SERVICE CARD 

155 





















C INTERPRETERS 


TABLE J; C Libraty Comparison 



C-TERP 

INSTANT-C 

RUN/C 

INTRO. C 

UNIX STANDARD LIBRARY 

Stream files 

Yes 

Yes 

Yes 

Yes 

Ato conversion 

Yes 

Yes 

Yes 

Yes 

Ito conversion 

Yes 

Yes 

Yes 

Yes. 

Str 

Yes 

Yes 

Yes 

Yes 

Random files 

Yes 

Yes 

Yes 

— 

Memory management 
Setjmp() 

Yes 

Yes 

Yes 


PC-SPECIFIC 

Bdos () 

Yes 

Yes 

Yes 

— 

Int86 ( ) 

Yes 

Yes 

Yes 

— 

Interrupt handler 


Yes 

— 

HHHHj 

Segread () 

— 

Yes 

Yes 

— 

Communications 

— 

. — 

Yes 

— WS/tl 

ADDITIONAL 

Math 


Yes a 

Yes 

_ 

Trig 

— 

Yes a 

Yes 

— 

Graphics 

— 


Yes a 

Yes 

Sound 

— - 

— 

— 

Yes 

LIBRARY 

Availability 

Good 

Good 

Good 

— 

°Provided in source form, user must read in. 





C-terp, Instant-C, and Run/C provide access to other C compiler libraries. 



Made To Be Broken 

If you're using Turbo Pascal, Turbo Extender 
is the software you need to break the 64K 
barrier. Now write programs as long as you 
need, limited only by available RAM. 

LARGE CODE MODEL 

Write programs using all 640K without 
overlays or chaining. Convert existing 
programs with minimal effort. Offers 
advanced dynamic binding or standard 
EXE files. 

MAKE FACILITY 

Offers separate compilation. No starting from 
scratch for source code changes. 

LARGE DATA ARRAYS 

Automatically manages data arrays up to 
30 megabytes, as well as arrays stored in 
expanded memory. 

ADDITIONAL TOOLS 

Overlay Analyst, Disk Cache, Pascal 
Encryptor, Shell File Generator, and File 
Browser. 

TURBO EXTENDER 

Includes 2 DSDD disks, complete source 
code, 150 page printed manual. Requires 
Turbo Pascal 3.0 and PCDOS 2.x or 3.x. 

Runs on IBM PC/XT/AT and compatibles. 

Call for MSDOS support. $85 COMPLETE. 

ALSO AVAILABLE 
TURBOPOWER UTILITIES 

Bruce Webster, in BYTE Magazine, Februaiy 
1986, named it Product of the Month, saying 
“If you own Turbo Pascal, you should own 
TurboPower Utilities, that's all there is to it." 

It offers 9 programs in all, including the 
Program Structure Analyzer which locates 
subtle coding problems the compiler fails to 
catch. It also produces reports that describe 
your code, providing cross reference and 
hierarchy diagrams. Also includes Execution 
Timer, Execution Profiler, Pretty Printer, 
Command Repeater, Pattern Replacer, 
Difference Finder, File Finder and Super 
Directory. 

TURBOPOWER UTILITIES 

Come compiled, ready to use. Includes 
manual, reference card, thred DSDD disks, 
complete source code. Requires Turbo 
Pascal 2.0 or 3.0. $95 with source code; 
$55 executable only. 

GET BOTH TURBO EXTENDER AND 
TURBOPOWER UTILITIES (Source) $149 

MC/VISA CALL TOLL-FREE 7 days a week 
800-538-8157x830 (CA) 

800-672-3470x830 For PO, COD, 

Dealers, Info, Brochures - call or write: 

478 W. Hamilton 4/196 
Campbell, CA 95008 
(408) 378-3672 M-F 
9AM-5PM PST 

INTERNATIONAL REPRESENTATIVES 
Switzerland: Software Haus 064-512651 
Japan: Southern Pacific Ltd. 045-314-9514 
Norway: Polysoft 03-825275 
England: Grey Matter Ltd. 0364-53499 
Australia: Videogram Communications 02-627-1261 

CIRCLE NO. 193 ON READER SERVICE CARD 


extra math and trig functions in source 
form, plus built-in interrupt call and 
handling functions. Introducing C 
includes graphics and sound functions 
for the beginning programmer. Run/C 
includes many common Lattice library 
functions built-in, plus extra graphics 
functions in source form. The library 
functions available with each of the 
interpreters are summarized in table 3. 

Frequently, C users write their own 
extensive function libraries or purchase 
them from vendors. In acknowledgment 
of this, C-terp, Instant-C, and Run/C per¬ 
mit object function libraries to be 
loaded into the interpreter and called 
from an interpreted program. This capa¬ 
bility greatly increases their usefulness 
in a development environment: even if 
the interpreter is not being used to de¬ 
velop full-blown programs, it can be 
used to write 5- to 10-line programs to 
check out libraries. This feature is im¬ 
plemented differently by each of the in¬ 
terpreters offering it. 

C-terp has been compiled under 
the Lattice, Computer Innovations, and 
Aztec compilers and is available in one 
of these versions. Additional functions 
(.OBJ files) or libraries (.LIB files) must 
be compiled under the appropriate 
compiler. To add a function to C-terp, 
the source file TBLXN.C is edited and 
the new function’s name is added to a 
list of externals and a large data struc¬ 


ture. TBLXN.C is then recompiled using 
the same compiler as the remainder of 
the interpreter, and the whole inter¬ 
preter is relinked. Assembler modules 
can be added to C-terp if they follow 
the interface requirements of the com¬ 
piler. Although the most general of the 
three, this method is also the most 
tedious; it requires reediting and re¬ 
compiling TBLXN.C each time the func¬ 
tions linked with it are changed. In a 
situation in which several add-on 
libraries (such as a screen handler and 
an access method) are used, this pro¬ 
cess could prove prohibitive. 

With Run/C, loadable libraries must 
be compiled under Lattice’s large 
model. The .LIB or .OBJ files then are 
linked with two specially provided .OBJ 
files, RCLMAIN and RCL2. The program¬ 
mer must create another control file 
with extension .RCL that describes the 
library, including the amount of mem¬ 
ory required and brief templates of 
each of the functions. Once this prepa¬ 
ration is complete, the library (turned 
into a .EXE file by the linker) can be 
loaded directly into the Run/C inter¬ 
preter with a single command. 

One drawback to the Run/C system 
is that libraries either must be available 
in source form for recompilation or 
must have been compiled under Lattice 
C. This is not a major problem because 
most commercial libraries satisfy one of 




156 


PC TECH JOURNAL 


































TABLE 4: Editing and Debugging Features 



C-TERP 

INSTANT-C 

RUN/C 

INTRO. C 

EDITOR 

Full-screen 

Yes 

Yes 

Yes 

Yes 

Paging 

Yes 

Yes 

Yes 

Yes 

Insert/overlay 

Yes 

Yes 

Yes 

Yes 

Search/replace 

Yes 

Yes 

Yes 

Yes 

Block move/copy 

Yes 

Yes 

Yes 

Yes 

Multiple buffer 

— 

Yes 

— 

— 

Automatic format 

— 

Yes 

— 

— 

Shell facility 

Yes 

Yes 

Yes 

— 

Goto last error 

Yes 

— 

Yes 

Yes 

DEBUGGER 

Trace 

Yes 

Yes 

Yes 

Yes 

Breakpoint 

Yes 

Yes 

Yes 

— 

Single step | 

Yes 

Yes 

Yes 

— 

Side step 3 

Yes 

Yes 

Yes 

— 

Pointer check 

Yes 

— 

Yes 

— 

Display variables 

Yes 

Yes 

Yes 

Yes 

Display memory 

— 

Yes 

— 

— 

Alter variables 

Yes 

Yes 

Yes 

— 

PROGRAM PROFILER 

— 

— 

Yes 

— 

SIDEKICK COMPATIBLE 

Yes 

Yes 

Yes 

Yes 

“Side step means to single step through source but execute function calls at full speed. 



This group of interpreters brings BASIC’s debugging power to the C language. 


these criteria. The advantage to using 
this system is that when a function 
changes, only the individual library that 
contains it need be relinked, not the 
entire interpreter. 

Finally, the Instant-C interpreter 
permits .LIB or .OBJ files to be loaded 
directly with a preprocessor directive 
provided they are compiled under the 
Lattice small memory model (limiting 
each loaded module to 64KB) or, if in 
assembly language, they were written 
using the Lattice compiler’s calling con¬ 
ventions. While it is the easiest to use, 
the Instant-C method may present a 
problem if the desired functions are not 
available in the small model. 

EDITING OPTIONS 

All four C interpreters provide a user 
interface that has a full-screen editor. 
Their individual features, and those of 
the debuggers, are summarized in table 
4. The Introducing C editor is the sim¬ 
plest of the four (many Introducing C 
users, having moved up from BASIC, 
may never have used a full-screen edi¬ 
tor). It does exhibit an annoying flicker 
during screen updates, but its com¬ 
mands include the ability to copy and 
move lines, in addition to most basic 
editing functions. Many of this inter¬ 
preter’s commands are activated by the 
first letter of their name, such as C to 
change text or W to write a file. 


The Instant-C editor is the most so¬ 
phisticated. Unlike the others, it is ob¬ 
ject oriented: instead of working on an 
entire source file, editing is done on in¬ 
dividual functions and global variables. 
But this feature can be annoying be¬ 
cause the header portion of a source 
file, where global variables are defined, 
cannot be viewed in its entirety. One of 
its better features is automatic format¬ 
ting and block comment supplied when 
the function is entered; this encourages 
the programmer to use a readable cod¬ 
ing style. The Instant-C editor is also the 
only one to support multiple editing 
buffers, and it permits cutting and past¬ 
ing text between them. The keyboard 
may be customized using a special defi¬ 
nition program. Finally, the package in¬ 
cludes a stand-alone version of the edi¬ 
tor, presumably for editing non-C files 
outside of the Instant-C environment. 

Instant-C is the only interpreter 
that permits multiple source files in 
memory at the same time. This is an 
important feature to writers of large 
programs. The best a programmer can 
do without multifile editing is assemble 
a user library and test one file at a time. 
However the terse Instant-C documenta¬ 
tion discusses this feature only briefly. 

The Run/C interpreter has been 
overhauled and a new, full-screen edi¬ 
tor added. This editor uses WordStar- 
like control-key commands to perform 


CopyWrite 

BACKS UP 
IBM PC 
SOFTWARE 

Hundreds of the most 
popular copy-protected 
programs are copied readily. 
CopyWrite needs no 
complicated parameters. 

It needs an IBM Personal 
Computer, or an XT or an AT, 
128k bytes of memory, and 
one diskette drive. 

CopyWrite will run faster 
with more memory or 
another drive. 

CopyWrite is revised 
monthly to keep up with the 
latest in copy-protection. 

You may get a new edition at 
any time for a $15 trade 
in fee. 

CopyWrite makes back up 
copies to protect you 
against accidental loss of 
your software. It is not for 
producing copies for sale or 
trade, or for any other use 
that deprives the author of 
payment for his work. 

To order CopyWrite, send a 
check for $50 U.S., or call us 
with your credit card. We will 
ship the software within 
a day. 



Quaid Software Limited 

45 Charles Street East 
Third Floor 

Toronto, Ontario M4Y 1S2 

(416) 961-8243 

Ask about ZeroDisk to run copy-protected 
software from a hard disk without floppies. 


MAY 1986 


157 





































C INTERPRETERS 


many of its functions, such as moving 
and deleting blocks. Users familiar with 
the Borland Turbo Pascal or SideKick 
editors will find no surprises here. One 
unique feature of Run/C is an ability to 
specify an external DOS editor and call 
it from the interpreter with a single 
command, provided enough RAM is 
available to permit both the editor and 
interpreter to be resident. The current 
source file is automatically saved in the 
current directory as PROGRAM.C, then 
reloaded back into the interpreter when 
the editor exits. This feature permits a 


programmer to use his own editor in at 
least a partially integrated manner with 
the rest of the Run/C environment. 

C-terp’s editor features Alt-key 
combinations that are named according 
to some mnemonic merit (for example 
Alt-H for help and Alt-G for a global 
search). It offers many standard fea¬ 
tures, such as block move and copy, but 
like the other editors, it is neither 
obtrusive, nor particularly powerful. 

Deciding among four unique edit¬ 
ing styles and user interfaces can leave 
a programmer wishing for a PC text- 


C-terp 

TheC 
Interpreter 
You Won't 
Outgrow 



C-terp will grow with you as you progress 
from novice through professional to guru. 
Unbelievable, but true, the easiest-to-use 
C interpreter will provide you with the 
most advanced programming features for 
upward growth. Our exclusive object 
module support enables you to acid 
libraries (like HALO, PANEL, Windows for 
C, etc., or your own homebrew libraries) 
to C-terp as you add them to your comput¬ 
ing repertoire. Use C-terp as a microscope 
on your libraries! Flip a bit and allow our 
software paging (NEW) to handle those 
big jobs! There are no fixed-size tables 
to overflow, and C-terp can be configured 
for different screens and screen adapters 
(NEW). With multiple modules and full 
K&R support, we offer a dream C environ¬ 
ment. 

• Our new improved configurable editor 
competes with anything going. 

• Speed -- Linking and semi-compilation 
are breathtakingly fast. 

• Convenience -- Errors direct you back 
to the editor with the cursor set to the 
trouble spot. 

• Symbolic Debugging--Set breakpoints, 
single-step, and directly execute C ex¬ 
pressions. 

• Compatibility guaranteed - batch file to 
link in your compiler's entire library. 
Supported compilers include: 

Computer Innovations C86, Lattice C, 
Microsoft C 3.0, Mark Williams C86, and 
Aztec C. 

• Many more features including batch 
mode and 8087 support. 


What Our Users/ 

Reviewers Are Saying 

.. easy to use, powerful, and a 
timesaver." 

.. we absolutely LOVE C-terp." 

.. has restored my faith in 
interpreters." 

"... a programmer's dream." 

.. wonderful technical assistance." 

"... increased our productivity by a 
factor of 40." 

"... the best C product ever, in any 
category." 


• Price: $300.00 (Demo $45.00) 

MC, VISA 

Prices include documentation and shipping 
within U.S. PA residents add 6% sales tax. 
Specify compiler. 

• C-terp runs on the IBM PC (or any BIOS 
compatible machine) under DOS 2.x 
and up with a suggested minimum of 
256 Kb of memory. It can use all the 
memory available. 

• C-terp is a trademark of Cimpel Software. 


Idem §®gith 

3207 Hogarth Lane • Collegeville, PA 19426 

(215) 584-4261 


editing standard. Moreover, none of 
these editors is as powerful as some 
DOS-based programming editors, such 
as Phoenix PMATE, a fact that is sure to 
dissatisfy experienced C programmers. 

GREAT DEBUGGING 

In contrast, all of these products offer 
convenient debugging facilities, because 
the source and symbols of the pro¬ 
grams are immediately available and no 
special compilation is needed to in¬ 
clude this information in a .EXE file. All 
four can trace a program’s execution, 
permitting optional viewing of the func¬ 
tion stack and expression results. 
Beyond simply tracing execution, C- 
terp, Instant-C, and Run/C, can stop a 
program during execution, examine its 
variables, change them, and resume. 

The programmer implements this capa¬ 
bility through special functions inserted 
into the program at desired break¬ 
points. Once stopped, the interpreters 
permit inspection and modification of 
variables, as well as single stepping. 

The improper use of pointers is a 
common bug in C programs. A program 
that contains such a bug can overwrite 
memory, causing disastrous results. 
Normally, C compilers do not perform 
pointer checking, in order to make the 
object code generated as small and fast 
as possible. However, two of these in¬ 
terpreters—Run/C and C-terp—provide 
this capability. In both, an improperly 
used pointer in a running program 
causes an error display and halts pro¬ 
gram execution. Run/C pointer checking 
can be switched on and off with the ap¬ 
propriately named SET TRUST com¬ 
mand. C-terp pointer checking cannot 
be disabled completely. Minimal check¬ 
ing is retained even when full checking 
is disabled: pointers are checked only 
for zero segment. This protects some 
vital areas of memory, while speeding 
up execution. C-terp also permits selec¬ 
tive checking of pointer arguments in 
external functions using flags in tables 
contained in TBLXN.C. Pointer checking 
is a good feature to have, especially 
when converting a program from small 
to large compiler models. 

Run/C includes another helpful 
tool, a program profiler, which profiles 
a single function or range of lines; it 
can be activated as a command or with¬ 
in a program. The profiler counts the 
number of times each line is exe¬ 
cuted—an indication of the program’s 
performance. While not a debugging 
feature per se, this is a convenient capa¬ 
bility in an interpreted environment. 

All four products are compatible 
with SideKick, a handy utility during 


158 


PC TECH JOURNAL 













TABLE 5: Documentation Comparison 



C-TERP 

INSTANT-C 

RUN/C 

INTRO. C 

Installation 

Good 

Fair 

Good 

Good 

Set-up 

Good 

Fair 

Good 

Good 

Tutorial 

— 

— 

— 

Good 

Editor 

Poor 

Fair 

Good 

Good 

Error messages 

Fair 

Good 

Good 

Good 

K&R differences 

Poor 

Poor 

Good 

Good 

Library reference 

F^air 

Fair 

Good 

Good 

Linking externals 

Poor 

Poor 

Good 

— 

Assembler information 

Poor 

Poor 

Good 

— 

Technical details 

Good 

— 

Good 

— 

Source code 

Fair 

Fair 

Good 

Fair 

Updates 

Fair 

Good 

Good 

— 

Index 


Fair 

Good 

Good 

Overall rating 

Fair 

Fair 

Good 

Good 


Documentation often takes a back seat when software is still being perfected. The 
manuals for C-terp and Instant-C did not match the quality of the programs. 


TABLE 6: C Performance Benchmarks 



The Lattice C compiler has been included for comparison. Index means the aver¬ 
age ratio of a program’s execution time versus Instant-C’s execution time. 


programming. More importantly, this in¬ 
dicates that all four play by most of the 
rules for IBM compatibility—no non¬ 
standard keyboard or screen handling 
that can make their use with other pro¬ 
grams or with LANs difficult. 

IN WRITING 

The products’ documentation ranges 
from sparse to quite complete, as the 
summary in table 5 indicates. Documen¬ 
tation for a C interpreter should reflect 
its dual purpose as a productivity tool 
for advanced programmers and as a 
learning tool. However, only Introduc¬ 
ing C provides basic material for new C 
programmers, and in this area, it is ex¬ 
cellent. Its manual is organized into 
modules ideal for self study; a week or 
two with this package provides a very 
worthwhile hands-on experience with 
most fundamental C concepts. The In¬ 
troducing C manual lacks technical de¬ 
tails about the interpreter, but this flaw 
is not that serious considering its in¬ 
tended audience: novice programmers. 

The other three products do not 
provide material for beginning pro¬ 
grammers. They simply list the inter¬ 
preter’s features and functions. Of the 
three, the Run/C documentation is the 
best written and contains the most in¬ 
formation. Instant-C’s manual is the next 
best; but it is hurt by offering only min¬ 
imal technical information, especially in 
the critical area of loading libraries and 
object modules. In particular, it contains 
little about the unique Instant-C ability 
to generate a stand-alone .EXE program 
out of source files. C-terp has the worst 
documentation, a sparse 104 pages with 
no index. A beginner will need a good 
C programming primer and The C Pro¬ 
gramming Language with any of the 
products except Introducing C. 

Source code is an excellent source 
of technical information, and all of the 
interpreters supplied some. Run/C’s is 
the most extensive, with a complete 
graphics library and well-documented 
sample programs for nearly every func¬ 
tion in the interpreter’s library. Instant- 
C supplies source code for parts of its 
library, including the trig and math 
functions. C-terp offers a few sample 
programs in addition to the code for 
TBLXN.C. Introducing C has a “built-in” 
library; its header can be customized 
and functions can be added to it by 
inserting source code into die library 
source file. Several sample programs 
also are included. 

All four interpreters underwent 
substantial revision and debugging dur¬ 
ing the time this article was being writ¬ 
ten. Therefore, update information is 


important. Instant-C, in keeping with 
the experimental nature of this kind of 
product, offers free upgrades to regis¬ 
tered users. Users are charged for up¬ 
dates to C-terp and Introducing C. The 
Run/C purchaser will receive a free up¬ 
date if he is the first to report a bug. 

BETTER THAN COMPILING 

To a point, all of these interpreters are 
convenient to use. Trade-offs have been 
made in favor of power (Instant/C) or 
ease-of-use (Introducing C), but this is 
dictated by their intended audiences. 
Moreover, using any interpreter is pref¬ 
erable to editing, compiling, and linking 
programs with a C compiler. 

The performance benchmarks in 
table 6 highlight the major differences 
among these products. Three programs 
from the PC Tech Journal benchmark 
suite were run on each interpreter. 

They were written by William J. Hunt 


for his article “C and the PC” (Novem¬ 
ber/December 1983, p. 110). The 
source code for these benchmarks is 
available for downloading on PCTECH- 
line. Each test is described below. 

SIEVE.C is the Sieve of Eratos¬ 
thenes, which finds prime numbers. It 
tests an interpreter’s looping, integer 
math, and array subscripting speed. For 
these evaluations, the array size was re¬ 
duced from 8,192 elements to 1,024 so 
that the tests would finish in a reason¬ 
able amount of time. In this test, Run/C 
and Introducing C were quite slow. 

FILECOPY.C copies one file to 
another, first filling a 16KB array with 
data from the input file, then writing it 
all to the output file. This benchmark 
tests an interpreter’s speed in a systems 
program setting, using command line 
arguments, the creat() and open() 
low-level file calls, and looping. This 
test could not be run on Introducing C 


MAY 1986 


159 

























C INTERPRETERS 


because creat( ) and open( ) are not in¬ 
cluded in its library. 

PENTATH.C is a suite of six tests: 
floating-point math, dummy function 
calls (important in an interpreter 
because a great deal more overhead is 
involved in keeping track of the vari¬ 
ables passed), string copying, character 
processing, file copying, and writing a 
large file. For these interpreters, the 
loop limits had to be reduced by a 
factor of 10, and sometimes 20. 

The benchmark programs were 
run on an Alpha Micro Workstation (a 


PC/XT look-alike) with 512KB of RAM, a 
10MB hard disk, and an STB Chauffeur 
video card, and running DOS 2.1. No 
CONFIG.SYS file was present, and the 
system was rebooted after each bench¬ 
mark to avoid interference by DOS disk 
caching. The same files were used for 
all four interpreters and they were kept 
in the same location on the hard disk to 
eliminate the effects of directory 
searches and space fragmentation. 

Because compile times are virtually 
instantaneous for all four interpreters 
and storage use was difficult to deter¬ 


mine (the interpreters use preallocated 
symbol tables, for example, so variable 
storage requirements remain constant 
when different size programs are 
loaded), only execution times are pre¬ 
sented here. Unfortunately, these times 
could not be obtained using the PC sys¬ 
tem clock because Introducing C has no 
DOS interrupt capability. Instead, each 
benchmark was timed with a stopwatch; 
but this should not be considered a lia¬ 
bility in making comparisons because of 
the sizable differences in the bench¬ 
mark results. Note that the tests also 
were compiled using the small model 
of Lattice C 2.15 to offer a frame of ref¬ 
erence against an optimizing compiler. 

Clearly, Instant/C is the perform¬ 
ance champion. Furthermore, in every 
test but one (the file-copying portion of 
PENTATH.C) its times compare well 
with the Lattice compiler. This inter¬ 
preter was tested last, using the scaled- 
down versions of the tests required by 
the other three products. Time after 
time, the Instant/C prompt was staring 
back just barely after pressing Enter. 
Most of the elapsed times for Instant/C 
(and the Lattice compiler .EXE files), 
therefore, were obtained by running 
the tests 10 or 20 times and dividing by 
the number of iterations. Rational Sys¬ 
tems says that Instant/C uses a propri¬ 
etary form of incremental compilation. 
This process retains enough informa¬ 
tion about the original source program 
so that no separate source file is 
required; when a function or global 
variable is edited with Instant/C, it is 
recreated from the object code. 

The second best performer, C-terp, 
is quite a technical accomplishment. It 
turned in rather respectable times, con¬ 
sidering its small size. The manuals 
design notes say that this interpreter is 
written mostly in C with critical por¬ 
tions in assembly language for speed. 

An intermediate, tokenized language 
that speeds up execution is produced 
from source code (like a BASIC inter¬ 
preter). It did, however, display a minor 
lag in converting to tokens and convert¬ 
ing back to source code. 

Run/C and Introducing/C are slow. 
In fact, both are much slower than 
interpreted BASIC. (A BASIC SIEVE 
benchmark on the same machine took 
26.0 seconds with BASICA and 0.2 sec¬ 
onds with the BASCOM 1.0 compiler. 
The source code of the BASIC bench¬ 
mark, SIEVE.BAS, is available on 
PCTECHline.) These C products are 
slower than BASIC because both inter¬ 
pret the program’s source code with 
little intermediate tokenizing. While this 
makes switching between editing and 



Let DaTapaSS Help You Tie the Knot! 

I f you’re ready to unite your IBM PC’s and compatibles to 
your host system, it’s time you thought about DaTapaSS. 

DaTapaSS is quick and simple. No fuss, no ceremony: Just a 
natural union of the features you need most. Features like un¬ 
attended automatic file transfers. Automatic restart and recovery of 
interrupted transfers. Error-free uploading and downloading of 
binary or ASCII files: across public networks, dial-up phone lines, 
and direct-connect asynchronous lines. Full access to DOS func¬ 
tions. VT100 emulation. Key-selectable signon sequences. Softkeys 
you can program from DOS or your host system. Outstanding 
documentation. You can even use it to transfer files between 
different kinds of host systems. 

Best of all, you can use DaTapaSS as is, or you can work with our 
staff of consultants to build it into your specialized applications. 

So. If you’re ready to exchange deadlock for wedlock, try DaTapaSS 
-- and give DTSS a ring! 



DTSS Incorporated 

A Subsidiary of Metropolitan Life Insurance Company 
Buck Road • Box 70 • Hanover, NH • 03755 • 603/643-6600 

CIRCLE NO. 103 ON READER SERVICE CARD 


160 


PC TECH JOURNAL 

























running programs go quickly, a penalty 
is paid in execution time. This lesser 
performance may be acceptable for 
learning, debugging, and library check¬ 
out because the amount of code exe¬ 
cuted tends to be small. However, it be¬ 
comes prohibitive to use these inter¬ 
preters for large programs. 

FOUR Cs 

The current assemblage of C inter¬ 
preters is discussed below. Each seems 
oriented to a particular segment of the 
C programming audience. All of the 
products require an IBM PC or compati¬ 
ble, one disk drive, DOS 2.0 or later, 
and either a color or monochrome dis¬ 
play. Run/C and Instant/C require 320KB 
of memory; C-terp requires 256KB, and 
Introducing C requires 128KB. 

Run/C Professional. Written by Age of 
Reason and published by Lifeboat Asso¬ 
ciates, Run/C is available in two ver¬ 
sions: the professional version tested 
here and a smaller version, called Run/ 
C: The C interpreter, which does not in¬ 
clude loadable library support. This 
smaller version is intended for begin¬ 
ning C programmers. 

Run/C comes packaged in an IBM- 
style binder and slipcase. The documen¬ 
tation is clear and thorough, and in¬ 
cludes a good index, careful library de¬ 
scriptions, and many examples. The 
manual goes beyond a functional de¬ 
scription of Run/C to explain how the 
interpreter was designed and written. 

In action, Run/C resembles inter¬ 
preted BASIC: a row of function key 
labels appears at the bottom of the 
screen in reverse video, and typing 
commands or statements is answered 
by “Ok.” F2 is used to run the program, 
starting with main( ), and F6 edits the 
source of the last error received. Func¬ 
tions not activated with function keys 
are performed using BASIC-style com¬ 
mands, such as LOAD and LIST. When a 
breakpoint is reached in a program, it 
enters a mini menu that permits exami¬ 
nation and changing of variables, inter¬ 
active execution of statements, or state¬ 
ment tracing. Programmers with even a 
casual familiarity with BASIC will find 
Run/C easy to use. 

Despite its poor showing in the 
time trials, Run/C is a solid product that 
performs many tasks well. It includes 
most of the functions from the Lattice 
compiler’s library, and supports the full 
Kernighan and Ritchie standard. This 
entire package displayed a polish in 
important areas, such as its manual, 
user interface, and messages, that is 
missing in the others. It was the only 
package to include sample source hies 


for every function in its library. Run/C is 
suitable for programmers who will be 
using the interpreter to debug pro¬ 
grams and to check libraries, but its 
slow performance does not recommend 
it for writing large programs. 

C-terp. This interpreter from Gimpel 
Software performed well through most 
of this evaluation. In addition, it offers 
some unique features. 

C-terp uses a menu-based user 
interface that resembles pfs:write and 
pfs-.hle by Software Publishing. The 
editor, debugger, and hie handling are 


invoked from this main menu. The 
menus work smoothly and should be 
comfortable even to the experienced 
programmer accustomed to command- 
oriented execution. When the debugger 
is in use, the editor is available in 
browse (read-only) mode in a separate 
window, so the source code of the pro¬ 
gram being interpreted is visible for 
reference. A smaller menu similar to 
Run/C’s, although less functional, also is 
displayed; it permits the programmer to 
execute statements, display variables, 
single step execution, etc. 


Get a Grip on Assembly language. 



The Award Winning 
Visible Computer: 8088. 


Assembly language programming isn’t 
easy, but you don’t have to be a genius 
to learn it. Let your PC teach it to you. 

The Visible Computer: 8088 is a 
comprehensive system of book and 
software for mastering the elusive 
skills of assembly language. 

It’s an animated simulation of the 
8088 microprocessor that lets you see 
with your own eyes how the 8088 
works. You’ll be using it as a debugging 
tool for years to come. 

It’s a tutorial. The 350 page manual 
is more than instructions on running 
the simulator-a lot of people think it’s 



the best book on assembly language 
ever written. 

It’s 45 demonstration programs 
you’ll work through with the 8088 sim¬ 
ulator, from simple register loads to 
advanced programs that manipulate 
interrupts and perform file I/O. 

PC Tech Journal 
“Program of the Month” 

“(The Visible Computer) is at once 
useful and educational, offering an 
interactive debugger and a self-paced 
course in 8088 architecture and assem¬ 
bly language... A considerable value.” 

The Visible Computer: 8088 for 
IBM PC/ XT/AT and true compatibles. 


$49.95 

Copy Protected 



Unprotected 


If your dealer doesn't have it, order direct: 

Software Masters, 2714 Finfeather, Bryan, TX 77801 
(409)822-9490. Please enclose $3.00 shipping. Bank 
cards accepted 


TVC lets you see into 
an 8088 as it executes programs 


Software 
Masters ™ 


CIRCLE NO. 168 ON READER SERVICE CARD 


MAY 1986 


161 










C INTERPRETERS 


The benchmarks show C-terp to be 
a fairly fast C interpreter. It supports the 
full Kernighan and Ritchie C definition, 
in addition to a good-sized library. Its 
primary problems are terse documenta¬ 
tion (a poor comment for a $300 soft¬ 
ware product, however technical the au¬ 
dience) and a potentially clumsy load¬ 
able library scheme. The manual, pack¬ 
aged in a fabric binder and slipcase, 
comes with four diskettes. This inter¬ 
preter might be a good choice for the 
veteran programmer or for the hobbyist 
who is able to work with a minimum of 
product documentation. 

Introducing C. Computer Innovations 
produces this C interpreter in addition 
to a C compiler, Optimizing C86, which 
was reviewed in the January 1986 issue. 
Based on its documentation and the 
functions offered, Introducing C clearly 
is intended for beginning C program¬ 
mers, not as a development environ¬ 
ment. In earlier versions, this product 
was copy protected; fortunately, this was 
removed in the latest version. 

This interpreter is a good starting 
point for the new programmer who 
wants to learn the C language and 
graduate at some point to a compiler. 
Although it lacks many important C fea¬ 
tures, such as structures, this product 
implements enough of the language to 


introduce C to the beginner. The not¬ 
ably excellent manual goes a long way 
itself in teaching the language, provid¬ 
ing many examples toward that end. 
Moreover, even with its slow execution 
times, Introducing C includes adequate 
graphics and sound functions to keep a 
new programmer at least interested. 

In spite of all this, the novice user 
probably will need to leave the nest 
someday. It does a good job of error 
detection, but Introducing C lacks the 
speed and features necessary to the 
experienced programmer; its debugging 
support, in particular, is insufficient to 
handle large or complex programs. A 
user would need to carry programs 
written in Introducing C over to a C 
compiler and go from there. 

In short, this product lives up to its 
name in offering the programmer a 
smooth beginning into the C language. 
(Even the packaging is uncomplicated: a 
Turbo-style paperback manual and a 
single diskette.) In this area, none of 
the other three products can compare. 
Instant-C. This interpreter from Rational 
Systems is intended as a complete C 
development tool for beginning and ex¬ 
perienced programmers alike. But the 
product’s environment effectively limits 
the audience to seasoned C veterans 
who probably already feel comfortable 


with their C compilers and debuggers. 
The Instant-C user interface, when not 
in the full-screen editor, resembles a 
UNIX terminal session, with numerous 
cryptic commands to control every 
detail of the session. Prompting and 
help information is minimal. So, despite 
the documentation’s claim that Instant-C 
is ideal for new users, only serious 
programmers need apply. 

This acknowledged, Instant-C is a 
powerful, complex C interpreter, offer¬ 
ing the experienced programmer many 
valuable facilities. Its strong points are a 
full support of the language and stan¬ 
dard library and an unbelievably fine 
performance. What is surprising is that 
such an advanced product should want 
for a better manual. The documentation 
included, in an IBM-sized binder with 
two disks, is painfully brief. In spite of 
this, Instant-C can help C programmers 
improve their productivity. 

C INTO THE FUTURE 

Before purchasing a C interpreter, the 
programmer must have a good under¬ 
standing of what such a program can 
do. It can provide an amicable environ¬ 
ment for learning C, along with easy 
editing and excellent debugging. It can¬ 
not (as yet) provide the speed, flexibili¬ 
ty, or reliability of a compiler. The pro- 


FORTRAN FROM 
THE HIGHEST 
AUTHORITY 

Namely, RM/FORTRAN™ from Ryan-McFarland. 

It’s nothing less than a mainframe FORTRAN 
compiler for a pc. It’s also a full ANSI 77, complete 
with mainframe extensions and GSA-certified error- 
free at the highest level. And, thanks to our high 
optimizing compiler, it’s the fastest pc FORTRAN 
you can buy To do just that, call us at 213-541-4828. 

Or write 609 ■■ ■■■ 

Deep Valley Dr., ■ IIH RYAN- 
Rolling Hills ■ ■■■ McFARlAND 

Estates, CA 90274. Masters of the Language. 

RM/FORTRAN is a trademark of Ryan-McFarland Corporation. © 1986 Ryan-McFarland Corp. 


162 


CIRCLE NO. 174 ON READER SERVICE CARD 


COMPLETE 

YOUR 

:/» 


OF 


TE@H 

JOURNAL 



Add to your PC TECH JOURNAL collection 
today. Make your personal library complete 
and authoritative with any issues you may be 
missing. 

Copies are available for issues published 
during the last twelve months—be sure to 
specify the issues you want. If a particular 
issue is out of stock, your payment will be 
refunded promptly. 

Back issues of PC TECH JOURNAL are 
priced at $7.00 each, postpaid. Outside USA, 
$8.00 each. 


PC TECH JOURNAL 

Ziff-Davis, One Park Avenue, 4th Floor, 

New York, NY 10016, K. Armstrong 

Please send- issues of PC TECH JOURNAL listed 

below: 


Issue 


Qty. 


Unit Price Total Price 


Payment Enclosed $ 


| Mr./Mrs./Ms._ 
| Address- 


| City/State/Zip_ 




CIRCLE NO. 149 ON READER SERVICE CARD 


PC TECH JOURNAL 




























grammer can neither chose a memory 
model, nor place a variable in a register 
for greater speed. Also, these inter¬ 
preters are not fast enough for time- 
critical projects such as interrupt rou¬ 
tines that manage hardware. Finally, C 
interpreters are still under develop¬ 
ment; this is evident in their documen¬ 
tation, which often takes a back seat 
when software is being perfected. 

Introducing C is the least likely to 
interest the program developer. It ful¬ 
fills its educational goal admirably, but 
its language implementation is limited. 
C-terp is a fast implementation of the 
full language, but its documentation 
leaves the user guessing. The Instant-C 
documentation also is sparse, but this 
product holds the promise of becoming 
a powerful workbench for C program¬ 
ming, reminiscent of the environments 
available for languages such as Smalltalk 
and LISP. It is designed for large pro¬ 
gram development, and its speedy per¬ 
formance makes it a good prospect. 

Finally, in spite of its rather slow 
execution, Run/C outclasses the other 
products in several important catego¬ 
ries, most notably its documentation, 
user interface, and add-on library sup¬ 
port. For the present, it is the overall 
best choice in a C interpreter. 

C-terp 2.131: $300 
Gimpel Software 
3207 Hogarth Lane 
Collegeville, PA 19426 
215/584-4261 

CIRCLE 341 ON READER SERVICE CARD 

Instant-C 1.61: $495 
Rational Systems , Inc. 

P. O. Box 480 
Natick, MA 01760 
617/653-6194 

CIRCLE 342 ON READER SERVICE CARD 

Introducing C 1.0H: $125 
Computer Innovations 
980 Shrewsbury Avenue 
Tinton Falls, NJ 07724 
201/542-5920 

CIRCLE 343 ON READER SERVICE CARD 

Run/C Professional 1.0P: $250 
Lifeboat Associates 
1651 Third Avenue 
New York, NY 10128 
212 / 860-0300 

CIRCLE 344 ON READER SERVICE CARD 


Marty Franz is a programmer for Allen Test 
Products, a division of The Allen Group, Inc. 
in Kalamazoo, Michigan. He is the coauthor 
(with Phillip Good) of Writing Business Pro¬ 
grams in the C Language (Chilton Books). 


s - All IBM PC and AT programmers : — 

BRADY has your 
number:80286 



THE IBM PC AT PROGRAMMER’S GUIDE 
THE WAITE GROUP 

This guide presents the nuts and bolts of program 
ming the 80286 to get the most out of the ATs 
power. It includes discussions of the entire intel 
CPU family for perspective and focuses on IBM 
BIOS to enable programmers to get the most out 
of its extended services. Examples include both 
assembly language and Pascal code to illustrate 
software interrupts for DOS services, extended 
memory access, and much, much more. $21.95 

ASSEMBLY LANGUAGE PROGRAMMING 
WITH THE IBM PC AT 
LEO J. SCANLON 

Perfect for both beginners and experienced pro¬ 
grammers, you’ll find everything from the basics 
of computer numbering through to step-by-step 
instructions for using the IBM Macro Assembler. 
Clearly written, it presents logical groupings of 
the entire 80286 instruction set for quicker, easier 
learning along with complete coverage of BIOS 
and a library of over 30 macros for faster pro¬ 
gramming. It also covers graphics and sound 
control. $21.95 (Disk available) 

80286 ASSEMBLY LANGUAGE ON 
MS-DOS COMPUTERS 
LEO J. SCANLON 

Written for AT "compatibles,” Scanlon’s plain 
English, tutorial style covers a crash course in 
computer numbering, the fundamentals of 
assembly language, assemblers, and the 80286’s 
instruction set. The guide includes programs 
for doing high-precision arithmetic, sorting, 
and code conversions along with procedures 
for using Microsoft’s Macro Assembler, EDLIN, 
SYMDEB debugger, and LINK. $21.95 

PROGRAMMER’S PROBLEM SOLVER FOR 
THE IBM PC, XT, AND AT 
ROBERT JQURDAIN 

Here’s the ultimate reference source that 
includes over 150 solutions to common 
hardware-control tasks through high-level or 
assembly programming or system functions. 

It shows how to code for directory access, key¬ 
board macros, and advanced video and sound 
control. Complete discussions of graphics on 
the EGA, port and modem control, printer manipu¬ 
lation, and file operations answer just about 
every question that arises in programming inter¬ 
faces. $22.95 

Now at your book or computer store. Or order toll-free 
today: In New Jersey: 800-624-0024 

800 - 624-0023 


BRADY COMPUTER BOOKS 
c/o Prentice Hall, 

P.O. Box 512, W. Nyack, NY 10994 

Circle the numbers of the titles you want 
below. (Payment must be enclosed; or. use 
your charge card.) Add $1.50 per order for 
postage and handling. Enclosed is check 

for $_or charge to 

□ MasterCard □ VISA. 

1 (089303-580-7) 2 (089303-484-3) 


Act. #_Exp. date_ 

Signature_ 

Name_ 

Address __ 

City_State__ Zip_ 

(New Jersey residents, please add applicable sales 
tax.) Dept. 3 GR-TECJ-BM(I) 

3 (089303-618-8) 4 (089303-787-7) 


miiimiimmmiimmmimimmimmmimmimminti 

CIRCLE NO. 159 ON READER SERVICE CARD i <2 


MAY 1986 























YOU CAN STRUGGLE A LOT 

READ A LOT 
WORRY A LOT 
AND PAYA LOT 



100% compatible with IBM XT. AT and PC protocols. Does not support IBM 36. 
dBASE 111 PLUS is a trademark of Ashton Tate. 

Datapro Report on Microcomputers is published monthly by Datapro Research Corporation. 







OR NOT 



t's the difference between spending time 
studying your software, and spending time 
developing your applications. At Microrim, 
we don't think you should have to struggle 
with an application generator that limits your 
choices to one of everything. (Like just one 
menu, and access to only one table.) Or be 
forced to read through dozens of pages of tech¬ 
nical instructions just to figure out how the 
password system protects your files. 


APPLICATION DEVELOPMENT 



R;base 5000 

dBASE III® PLUS 

Application Generator 



■ Multi-table Access 

Yes 

No 

■ Nested Menus 

Yes 

No 

■ Custom Reports 

Yes 

No 

■ Reviseable Applications 

Yes 

No 

Password Security 



■ Pages of Documentation 

■ Usable by Nontechnical 

VA 

36 

User 

Yes 

No 

Automatic Protection 
Against "Deadly Embrace" 

Yes 

No 

List Price 



■ Single-User 

■ Multi-User 

$ 700 

$ 695 

5 Users 

$1,500 

$2,385 

10 Users 

$1,500 

$3,680 

20 Users 

$1,500 

$7,360 


We also don't think you should have to 
worry about the possibility of locking up 
the system when two users go after the same 
record (a "deadly embrace"). Or have to pay 
extra each time you want to add a user to 
your database network. 

That's why we built R:base™ 5000 just 
the way it is. Powerful, straightforward, and 
complete. (See the chart.) Which is probably 
why Datapro rates it as the best DBMS on 
the market, bar none. 

But judge for yourself. For $9.95 (plus 
shipping), we'll send you our R:base 5000 
single-user demo. Or our multi-user demo 
for only $50 (shipping included). Just call 
1-800-547-4000 and ask for Dept. 936. 

From Oregon, or outside the U.S., call 
1-503-684-3000, Dept. 936. 

After all, when it comes to developing 
applications, you can either put yourself 
through a lot. 

Or not. 

R:BASE 5000 

FROM MICRORIM 
































COMPUTER GRAPHIC » DOV JACOBSON 



A Data Manager: 


i\ uaia iviaiiaguL. 

v The Evolving 

DEVELOPMENT TOOLS ^ 


Standard 


166 


PC TECH JOURNAL 










Underlying all its new features 
is the original dBASE, but dBASE III PLUS 
has evolved into an efficient product. 


T o the venerable dBASE product 
line, AshtonTate’s latest addition 
brings multiuser database process¬ 
ing for local area networks, additional 
features for developers, and a new 
interface for end users. dBASE m plus is 
intended both for end users and for 
developers working independently or 
within corporations to solve database 
applications needs. 

Power database end users who un¬ 
derstand the dBASE file, index, and data 
relationship concepts and structures 
will find most of their wish-list items in 
dBASE m plus. Independent applications 
developers will miss a true source code 
compiler, a more powerful report gen¬ 
erator, and easier programming of data 
entry screens. The corporate technical 
support staff will find cIbase m plus suit¬ 
able for developing applications for cor¬ 
porate users who have some training or 
experience with any dBASE version. 

dBASE hi plus is not revolutionary. It 
is evolutionary by design, based on 
AshtonTate’s view of the needs of the 
marketplace, and is intended to provide 
a substantial quantity of new features in 
the basic mold of the existing product. 
As an upgrade to the basic product, 
dBASE m plus runs most existing dBASE hi 
applications, extends the development 
language, adds more power to the 
interactive user interface, improves per¬ 
formance, and provides rewritten docu¬ 
mentation. As an evolutionary product 
adding new features, it adds fresh capa¬ 
bilities such as networking, password 
protection, data encryption, applications 
generation, source code pseudo-compi¬ 
lation, linkage to compiled subroutines, 
and runtime facilities. 

As with the existing dBASE iii pro¬ 
gram, dBASE m plus organizes data in 
files and provides commands for link¬ 
ing files into a database. The command 


DAVE BROWNING 


language includes the features of a gen¬ 
eral purpose structured programming 
language with additional commands for 
manipulation of data files. For multiuser 
applications on local area networks, the 
product provides file- and record-lock¬ 
ing mechanisms, multilevel password 
protection, and data encryption. For de¬ 
velopers, dBASE m plus has a source lan¬ 
guage encrypter, linker, runtime inter¬ 
preter module, and interface to assem¬ 
bly language subroutines. An optional 
interface provides easy linkage to pro¬ 
grams written in C. End users may en¬ 
ter commands directly or use the assist 
mode with its point-and-select, pull¬ 
down menu structure. A simple, menu- 
driven source code generator is in¬ 
cluded for single file applications. 

In the single-user mode, dBASE m 
plus demands a minimum of 256KB on 
a dual-floppy disk or a single-floppy and 
hard disk IBM PC, PC/XT, PC/AT or 100- 
percent compatible machine. The 
256KB configuration is a tight fit, re¬ 
quiring DOS 2.x with only four buffers 
in CONFIG.SYS and a special dBASE 
CONFIG.DB file limiting several pro¬ 
gram parameters. Under DOS 3.x, sin¬ 
gle-user operation calls for 384KB. 

For local area networks the server 
must be a PC, XT, AT, or compatible 
with floppy and hard disks and 640KB. 
The network operating system has to be 
DOS 3.1 or compatible, including 
Novell’s Advanced NetWare/86 Version 
1.01 and 3COM’s 3Plus. Workstations 
must have 384KB and at least one flop¬ 
py disk. Additional workstation memory 
is required for IBM PC network mes¬ 
senger, receiver, and redirector stations. 

Each dBASE m plus package includes 
a network administrator program, dBASE 
administrator, and one network access 
program, dBASE access, at a list price of 
$695. A separate IAN Pack provides 


complete documentation and dBASE 
access for three additional workstations 
on the network for a list price of $995. 
The system started shipping in January 
1986, and upgrades are available for 
current users of dBASE in. 

dBASE hi plus is copy protected us¬ 
ing SoftGuard’s SuperLok, allowing di¬ 
rect installation on many hard disks in 
the single-user mode, but not on some 
network hard disks, notably those oper¬ 
ating under Novell software. Work¬ 
stations require a copy-protected key 
disk for access, or the program can be 
installed on a workstation local hard 
disk. This key-disk, copy-protection ap¬ 
proach complicates network operating 
procedures and provides the unwary 
network administrator the opportunity 
for a frustrating installation process. 

MICROCOMPUTER ROOTS 

Although some other data managers for 
PCs have migrated downward from 
mainframes or minicomputers, dBASE in 
plus has its roots firmly embedded in 
microcomputers. dBASE has evolved 
from a command-driven file manager to 
a powerful relational data manager, and, 
according to AshtonTate, has an envi¬ 
able worldwide installed base of more 
than 530,000 dBASE n and m users. 

Earlier versions of dBASE have been 
used for almost every type of database 
application, due in part to its being one 
of the first data manager programs 
available for the IBM PC and compati¬ 
bles. Powerful alternatives have since 
been developed, and many of the new 
features in dBASE m plus reflect Ashton¬ 
Tate’s response to the competition. 

Because of its microcomputer 
background, dBASE iii plus interfaces well 
with DOS. The RUN command executes 
DOS commands such as DIR and COPY, 
COMMAND.COM, and other .EXE and 


MAY 1986 


167 







dBASE IU PLUS 


FIGURE 1: Interfile Relationships 

. SELECT 2 

. USE AUTHOR INDEX AUTHOR 

. SELECT 1 

. USE ARTICLE INDEX ARTICLE 

. SET RELATION TO UPPER(AUTH0R_1N+AUTH0R_FN) INTO AUTHOR 

. DISPLAY STATUS 


Currently Selected Database: 

Select area: 1, Database in Use: C:ARTICLE.dbf Alias: ARTICLE 

Master index file: C:ARTICLE.ndx Key: STR(VOLUME,1,0)+STR(NUMBER,2,0) 
Related into: AUTHOR 

Relation: UPPER(AUTHOR_LN+AUTHOR_FN) 

Select area: 2, Database in Use: C:AUTHOR.dbf Alias: AUTHOR 

Master index file: C:AUTHOR.ndx Key: UPPER(AUTHOR_LN+AUTHOR_FN) 


The SET RELATION TO command relates the Article file to the Author file through the author’s last and first names (concaten¬ 
ated and converted to uppercase.) As the Article file is scanned, the Author file will be automatically positioned to the appro¬ 
priate record, thereby making data, such as the author’s address and phone number, available. 


.COM programs and batch files. Parame¬ 
ters are passed on the command line to 
the executed program or batch file. The 
RUN command can be used at the inter¬ 
active dot prompt or from within dBASE 
programs. A common use of this feature 
is to embed a communications program 
within a dBASE application. When the 
application is ready to connect to an¬ 
other computer for data transfer, the 
communications program is executed 
directly or through a batch file. Pro¬ 
grams executed with RUN can exist any¬ 
where in the DOS directory tree as 
long as the DOS environment contains 
a path to them and COMMAND.COM is 
available on the drive specified by the 
DOS COMSPEC parameter. 

The DOS interface also allows the 
user to install a favorite text editor for 
command file programming and a sepa¬ 
rate word processor for editing of vari¬ 
able length memo fields. The names of 
the programs to be used are placed in 
the CONFIG.DB file with commands 
TEDIT=<editor file name> and 
WP=<word processor name>. This 
provides a closer coupling than RUN, 
because dBASE automatically passes the 
command file name to the editor and 
the name of a temporary file containing 
memo field text to the word processor. 

No specific interface is defined for 
the return of data to the dBASE applica¬ 
tion from programs executed by RUN. 
However, a general purpose database 
file may be used to append text lines 
from an external program s output file. 
The dBASE application then is able to 
parse the lines in this file. 

Binary files of up to 32,000 bytes 
each, produced from assembly language 
programs, may be loaded and called 
from within dBASE ill plus. Individual 
files may be loaded and released as 
long as no more than five are in mem¬ 
ory at the same time. Additional mem¬ 
ory above the 236KB minimum is re¬ 
quired for these files and should be re¬ 
served with a MAXMEM statement in the 
CONFIG.DB file to prevent loaded mod¬ 
ules from being overwritten when RUN 


executes external programs. The CALL 
statement accesses the loaded binary 
files and may pass an expression or 
dBASE memory variable address. 

dBASE’s roots in microcomputers 
and DOS are the source of one major 
handicap. DOS files and I/O have been 
used to manage all of the dBASE file 
types, and the DOS limitation of 20 files 
(including those reserved by DOS) that 
can be simultaneously open per process 
is rapidly reached in large or complex 
applications. 

This file count restriction can be 
alleviated somewhat by grouping pro¬ 
grams into procedure files. Up to 32 
subroutines identified by the key word 
procedure may be combined in a pro¬ 
cedure file, only one of which may be 
open at a time. Whenever the file is 
opened, dBASE must identify the starting 
position for each subroutine in the file, 
creating some processing overhead. 
Procedure files can be used to offset 
some of the DOS file limitations, but a 
penalty is paid in speed if they are fre¬ 
quently opened and closed. 

Other data managers have super¬ 
imposed their own custom file manage¬ 
ment approaches on top of DOS to pro¬ 
vide freedom from this restriction, but 
these methods also have disadvantages 
due to their unconventional use of the 
DOS file structure. 

Developers who need to find out 
the operating environment of the target 
machine executing dBASE can choose 
from several functions. Function calls 
can retrieve the name of the operating 
system, the dBASE hi plus version, the 
number of available function keys and 
their labels, available space on the de¬ 
fault drive, and the DOS environment 
parameters such as COMSPEC or PATH. 

DATABASE DESIGN 

In dBASE m plus, data are stored in files 
of fixed-length records, with optional 
auxiliary files for variable-length text 
linked to the main file through memo 
fields. Separate index files establish log¬ 
ical sequences on data files and can use 


complex formulas on combinations of 
fields and virtual fields. 

Ten work areas are available to 
open data files with associated indexes, 
screen formats, and filters. Linkage can 
be established between data files in dif¬ 
ferent work areas to implement features 
of the relational model of data manage¬ 
ment. As the master file is manipulated, 
the subordinate file is automatically 
positioned in response to the content of 
the current record in the master file. 
dBASE m plus goes beyond a simple 
field-linkage model, because complex 
interfile relationships between two data¬ 
base files can be established using 
formulas on combinations of fields and 
virtual fields in both files. This is a 
powerful feature for data retrieval that 
often obviates generation of interme¬ 
diate files through joins. 

A simple example of files related 
through a formula is shown in figure 1. 
The database files are opened with their 
associated indexes, the Article file in 
work area 1, the Author file in work 
area 2. The formula for the index on 
the Author file concatenates the last and 
first name fields and takes the upper¬ 
case of the result. (The uppercase func¬ 
tion is often used in index formulas to 
make data retrieval insensitive to alpha¬ 
betic case.) As a scan is performed of 
the Article file, dBASE automatically posi¬ 
tions the Author file to the correspond¬ 
ing record. Similarly, the relationship 
could be changed to operate from the 
coauthor’s name in the Article file. Au¬ 
tomatic retrieval of both author and 
coauthor addresses is not possible, be¬ 
cause only one relationship is allowed 
per work area. This is a significant limi¬ 
tation that requires substantial coding to 
overcome for many applications, such 
as those with several data files related 
to a single master employee file. How¬ 
ever, multiple files can be related in a 
chain in which the first file relates into 
a second file, and the second file relates 
into a third file, etc. 

Formulas for relationship defini¬ 
tions can be quite complex and data de- 


168 


PC TECH JOURNAL 



























pendent. Numeric field data may be 
arithmetically combined, converted to 
character, and concatenated with con¬ 
verted dates, portions of other fields, or 
literal values. For example, a relation¬ 
ship formula could determine which tax 
rate record to extract from a tax table 
file based on a threshold calculated 
from income value in the primary file. 

The implementation of index oper¬ 
ations in dBASE m plus is one of its 
strongest features. Index files are of the 
B+tree type, and the formula used to 
define the sequence may operate on 
fields, portions of fields, and virtual 
fields up to a maximum of 100 charac¬ 
ters. Functions may be nested in the 
indexing formula to convert dates to 
strings, extract portions of strings, and 
convert numeric formulas to strings for 
concatenation into the index. The con¬ 
ditional IIF (immediate if) function may 
even be used within an index file 
formula to choose argument data based 
on record content. The IIF function 
takes a conditional expression followed 
by two value expressions and returns 
the first value expression if the condi¬ 
tional expression evaluates to true, and 
the second value expression otherwise. 
For example, the following command 
creates an index that combines data-de- 
pendent home or work zip codes into a 
single sequence: 

INDEX ON IIF (MAILFLAG = “H”, HOMEZIP, 
WORKZIP) TO ZIPINDEX 

Each data file may have an unlim¬ 
ited number of index files associated 
with it, and up to seven index files for 
an active file may be open at one time. 
All open index files are updated auto¬ 
matically when fields are changed in 
the data file, and index files may be 
created or reestablished at any time. An 
index file may be designated UNIQUE 
at creation, and entries will point only 
to the first occurrence of records that 
have duplicate keys. 

Facilities are available in dBASE m 
plus for saving retrieval scenarios for 
later use. Once work areas, files, in¬ 
dexes, relationships, and field lists have 
been established for a specific scenario, 
the set-up information can be saved in a 
view file. A view can be created inter¬ 
actively or captured with the CREATE 
VIEW FROM ENVIRONMENT command. 

A view file contains the names of the 
open database files, any open index 
files, associated work areas, interfile re¬ 
lationships, and selected fields from 
each data file. One screen format file 
name and one filter condition can also 
be saved. The view can be reestablished 
using SET VIEW TO <viewfile>. 


This concept of views into a data¬ 
base is new to the dBASE line, and pro¬ 
vides a powerful applications develop¬ 
ment tool. The designer can define a 
database file structure, indexes, and re¬ 
lationships, and can provide a data edit 
screen without programming. Care 
must be taken to ensure that file rela¬ 
tionships are one-to-one or many-to-one 
because dBASE m plus has no capability 
for automatic retrieval of duplicate rec¬ 
ords in one-to-many situations. The 
field list must also be established to 
prevent changes to fields used in in¬ 


dexes that form the relationships. These 
constraints are not necessarily overly re¬ 
strictive for many applications, espe¬ 
cially in situations where data retrieval 
or maintenance of relatively static rec¬ 
ords is the primary operation. 

One suitable application might be 
a database of personnel records with 
data files indexed on employee num¬ 
ber. Medical benefits can be kept in 
one file, salary information in another, 
resume and job descriptions in others, 
etc. Custom programs will need to be 
written to handle the more complex 




source runt 


Pascal 


Program 
faster, 
debug faster 


can 


Source Formatting Utility 

For C, Pascal, BASIC, dBASE H, III, ID*, Modula-2 

Everything you’d expect... 

Index/Cross reference. Useful for locating identifiers 
in source listings when you are away from your editor: 

SOURCE PRINT™ can list line and page numbers of all 
occurrences for each alphanumeric identifier. 

Page headings and line number. SOURCE PRINT gives you page 
headings which include current and file date/time, page number, 
and source line-number range. Lines may be numbered if desired. 

Table of contents. You may imbed titles and subtitles in your 
source text; SOURCE PRINT can then generate a table of contents. 

Titles and subtitles will also appear on page headings. 

Automatic indentation. SOURCE PRINT can automatically indent source 
listings based on control-structure nesting if desired. Also, your source file c 
be automatically re-indented. 

Printer control. Extensive control of your printer’s features: size, font, emphasis,., 

Plus these new tools... 

Program structure outlining. SOURCE 
PRINT can draw lines to connect the beginning and end of 
nested control structures. Even complex structures stand 
out clearly. 

Key words emphasis. Emphasize key words in your pro¬ 
gramming language with styles your printer supports: bold¬ 
face, underline,... 

Extraction of routines. SOURCE PRINT can extract 
selected subtitled procedures or functions from one or 
more source files to form a new source file. 

Printing selected routines. Save time and paper by 
printing only part of a file, using the above extraction method. 

... all in one utility program! 

Easy to use, one-line commands. All combinations 
of features can be specified on a 
single command line! 

For IBM PC, PC-XT, PC AT, 
compatibles, floppy or hard drive; 

>192K RAM, DOS 2 or 3. Not 
copy protected. 

o.i, *97 00 

plus $5 handling & shipping 
CA residents add tax 
30-Day unconditional 
money-back guarantee 
VISA, MC, AmEx 
Immediate delivery 
Dealer inq. invtd. 


Order Source Print 
by phone: 

800-257-5773 

(outside CA) 

800-257-5774 

(within CA) 

Call for technical brochure 


Aldebarari 

Laboratories Inc 

Developers of High-speed 
Professional Software 

3738 Mt. Diablo Blvd., #312 
Lafayette, CA 94549 
(415) 283-7084 

SOURCE PRINT is a trade¬ 
mark of Aldebaran 
Laboratories, Inc. 
dBASE II, III, & III* 
are trademarks of 
Ashton Tate. 


CIRCLE NO. 109 ON READER SERVICE CARD 


MAY 1986 


169 

























dBASE HI PLUS 

events such as adding or terminating an 
employee, but daily maintenance of 
non-key data and routine reporting can 
be set up with a series of views. 

In addition to the view hie and 
associated commands for establishing a 
database environment, an interactive 
query feature helps the user create and 
save nested conditional queries. A query 
is a formula defining a subset ol the 
data in a database. It is considered to 
be a filter condition that can be saved 
in a hie and then invoked with 
SET FILTER TO FILE <queryhle> or 
SET FILTER TO <condition>. Retrieval 
scenarios may be predefined in terms 
of view and query hies and easily in¬ 
voked for periodic report purposes. 

dBASE m plus hie structure is based 
on fixed-length data elements and is 
poorly suited to applications involving 
variable length text. dBASE m plus alle¬ 
viates this problem with the memo 
held. Fields of this type contain pointers 
into an associated text hie, which is 
linked automatically to the main file. 

Data space in the associated memo 
text hie is allocated in 512-byte seg¬ 
ments chained together as necessary to 
provide storage for the individual 
memo helds. Only one associated text 
hie is required even if more than one 
held in the primary database hie is of 


the memo type. Data are entered with 
the dBASE m plus word processor (or 
one that is linked to the data manager) 
and can be displayed or printed only 
with the DISPLAY, LIST, and ? com¬ 
mands (the single question mark means 
show) or within the report writer. Be¬ 
cause the dBASE language has no provi¬ 
sion to move memo held text through 
memory variables, it cannot be manipu¬ 
lated, searched, or checked under pro¬ 
gram control. Reports programmed 
without using the report writer cannot 
print text data from memo helds. These 
restrictions limit the use of these helds. 

DATA ENTRY, UPDATE, INTEGRITY 

Entry of data into a multifile database is 
not as simple as data retrieval. Because 
of the method of linking files through 
indexes on fields, empty records cannot 
be automatically inserted into related 
hies for data entry without disrupting 
the record positions. Editing of data 
fields involved in the linkage formulas 
is also certain to cause problems. A full¬ 
screen data form may be easily defined 
and saved for single file-data entry and 
multiple file-data retrieval, but full¬ 
screen data entry to multiple files with 
simultaneous table look-up and data 
checking usually requires a substantial 
amount of programming effort. 


Make your PC or AT into a 
COMMUNICATING WORKSTATION 
for only $85 


Use ZAP , the Communications System for Technical Users 
COMPLETE Communications for PROGRAMMING and ENGINEERING 

EMULATION of graphics and smart terminals is combined with the ability to TRANS¬ 
FER files reliably, CAPTURE interactive sessions, and transmit MESSAGES while 
also being able to swap between your mini or mainframe session and your PC application. 
SUSPEND a line to run a PC application. Reconfigure features to fit the communications 
parameters and keyboard requirements of the host computer software. Complete technical 
documentation helps you understand and fit ZAP to your style. 

HIGHLIGHTS OF ZAP: 

• Emulate TEKtronix 4010/14 and DEC VT 100, 102,52 including 

variable rows and columns, windows, full graphics, even half tones. 

• Reliable file transfer to/from any mainframes and PCs including KERMIT and 
XMODEM protocols plus you get a full copy of KERMIT. Transfer speeds ranging 
from 50 to 38,400 BAUD. Session control include printer dumps and save to 
disk. 

• MACRO and Installation files ('‘scripts”) controllable by you. 

• EMACS, EDT and VI “Script” files are included. ZAP is also used with other popu¬ 
lar software including graphics products like DISSPLA and SAS/GRAPH. 

• CONFIGURABLE to communications, terminal features on the “other end”; 1,2 
stop bits; 5,6,7 or 8 data bits; parity of odd, even, none, mark and space; remap all keys 
including the numeric pad and standard keyboard, set any “virtual” screen size. 

• Full PC/MSDOS access to run any command or program that will fit in your systems 
memory. ZAP takes less than 64K. 

• 9 Comm ports are supported by ZAP. Plus full color in text and graphics make use of 
the IBM color, EGA cards, or Hercules Monochrome. 



ONLY 

$85 


-Solution 

Systems 


335-P Washington St 
Norwell, Mass. 02061 
617-659-1571 
800-821-2492 


dBASE in plus assumes a full-screen 
edit approach for data entry. An internal 
default data entry screen is provided for 
each data file based on held definitions 
in the file. The underlying concept of 
all dBASE data entity is that fields are 
defined on the screen using the 
@ <row>,<col> GET <variable> 
commands and then collected simulta¬ 
neously with the READ command. The 
user enters data to the fields on the 
screen with standard dBASE cursor com¬ 
mands and can move about the screen 
until the last field is exited by pressing 
either the Enter key or other special 
keys such as Ctrl-End. At this point, the 
data are made available to the data en¬ 
try program. They may be entered di¬ 
rectly to data file fields or to program 
memory variables. 

A basic flaw in this approach is that 
data entered by the user are not avail¬ 
able until READ is executed. Automatic 
table look-up is not provided, and the 
programmer cannot use the data from 
individual fields as they are entered. A 
READ can be executed after each field 
is defined with @...GET, but this 
interferes with the full-screen editing 
capability. An INKEYQ function traps 
keystrokes, but it bypasses editing func¬ 
tions normally supplied by dBASE. Cus¬ 
tom data entry screens with on-screen 
calculations and table look-up require 
significant programming skills. 

The screen implemented for the 
sample application is a good example 
of a custom screen. (The sample appli¬ 
cation was developed by PC Tech Jour¬ 
nal editors for this series on data man¬ 
agers. For a complete description, refer 
to “Sample Application Specifications,” 
August 1985, p. 48. The article is also 
available for downloading on PCTECH- 
line.) Properly implemented, more than 
200 lines of dBASE program code were 
required to support the data checking, 
table look-up, and entity of data into 
multiple related files. Some of the code 
and logic allowed the program to be 
used for data editing as well as entry. 

For applications in which the dBASE 
format file approach is acceptable, at¬ 
tractive custom screens can be gener¬ 
ated quickly with the MODIFY SCREEN 
command. An interactive screen paint¬ 
ing facility allows the designer to move 
fields around, insert prompt text, draw 
boxes, and establish data range and 
field editing specifications. The painted 
screen automatically produces a special 
format file containing standard dBASE 
program statements to collect the data 
from the screen. The only statements al¬ 
lowed in a format file are @...SAY..., 
@...GET... commands or up to 32 READ 


170 


CIRCLE NO. 130 ON READER SERVICE CARD 


PC TECH JOURNAL 











statements, which cause cJbase to exe¬ 
cute the file as a multiple screen pro¬ 
gram. Each READ defines the end of a 
screen, with the PgUp and PgDn keys 
used to swap screens. The screen gen¬ 
erator creates a file with the extension 
.SCR. The format file may be edited the 
same as any other dBASE program file, 
but the .SCR screen definition file can 
be changed only with MODIFY SCREEN, 
causing the format file to be recreated 
entirely. The screen generator saves 
substantial programming by creating the 
@...SAY/GET statements for incorpora¬ 
tion into custom programs. 

Data integrity is the responsibility 
of the user or programmer. dBASE m 
plus contains no automatic transaction 
processing or audit history feature, but 
data file headers are updated with the 
date of last file modification, retrievable 
via a function call. Applications that re¬ 
quire transaction processing can be de¬ 
veloped using temporary data files as 
input buffers, with posting accom¬ 
plished separately. This technique also 
eases the problem of entry into multi¬ 
ple related files, because all fields can 
be defined in one file for data entry, 
with the posting process performing the 
updating of the related files. 

STRUCTURED LANGUAGE 

The dBASE in plus language provides 
commands to support structured pro¬ 
gramming constructs, create and manip¬ 
ulate data files, accept data entry, dis¬ 
play and edit data, interface with the 
user, and communicate with external 
programs. dBASE is an interpreted lan¬ 
guage, and a compiler is not provided 
by Ashton-Tate. Third-party compilers 
are available for earlier versions of 
dBASE, but they have not yet imple¬ 
mented the new features of dBASE in 
plus. An encrypter and linker are pro¬ 
vided with the package for source code 
compression and protection. The dBASE 
in plus program can execute combina- 
j tions of raw, encrypted, and linked 
| source code. A RunTime+ module can 
j execute encrypted, or encrypted and 
l linked, code and is intended for turn- 
i key applications. Some reasonable re¬ 
strictions apply to code that is intended 
for execution by RunTime+ modules. 
They are not copy protected. 

Structured programming is imple¬ 
mented via DO WHILE/ENDDO loops, 
with LOOP and EXIT commands for 
control within loops, IF/THEN/ELSE and 
DO CASE/CASE/OTHERWISE/ENDCASE 
conditionals, and DO <subprogram 
ftle>/RETURN for subroutines. Param¬ 
eters can be passed to and from sub¬ 
programs. Each program/subprogram is 


contained in a separate file unless 
grouped in a procedure file. Event trap¬ 
ping and branching is handled by the 
ON ERROR/ESCAPE/KEY <command> 
settings. When set, an error causes an 
immediate execution of the specified 
command, which may call a separate 
program. Two commands, RETURN and 
RETRY, return control to the calling 
program. The first returns control to 
the statement after the call, while the 
second reexecutes the calling com¬ 
mand. Error trapping occurs for errors 
identified by dBASE m plus, not for 
errors at the operating system level. 

Up to 256 temporary memory vari¬ 
ables may be simultaneously active, and 
storage for variables may be adjusted in 
the CONFIG.DB file. Public and private 
memory variables can be established 
for all data types except memo, and are 
implicitly declared when data are 
assigned to the variables. Data assign¬ 
ment to memory variables is via the 
STORE <value> TO <variable>, which 
may be shortened to <variable> = 
<value>. Memory variable names are 
up to 10 characters in length, as are file 
field names. Ambiguities between mem¬ 
ory variables and field names can be 
resolved by prefixing the name with 
M —> (for memory), or the data file 
alias for field names. Memory variables 
may be saved to and restored from 
files. Assignment of data to fields in 
database files is accomplished with the 
command REPLACE <field name> 

WITH <value>. Incidentally, this com¬ 
mand has no short form. 

The private attribute for memory 
variables is implemented in an unusual 
fashion; variables declared private re¬ 
main available to subprograms called 
from the program declaring the vari¬ 
able, but are not available after the re¬ 
turn to upper levels. In effect, a subpro¬ 
gram can protect the variables of the 
programs above it, but cannot protect 
itself from subprograms it calls. Public 
variables are available to all programs at 
any level, including the direct command 
level. The default attribute is private, so 
all variables at and below the current 
subprogram level—except those de¬ 
clared public—are released upon re¬ 
turn to the higher-level calling program. 

More than four dozen parameters 
may be set on, off, or to specific values 
to modify the internal dBASE environ¬ 
ment. For example, SET DEFAULT TO 
<drive> changes the default drive 
within dBASE (but not the DOS default 
drive), SET COLOR TO <value> con¬ 
trols screen display attributes, SET 
ESCAPE ON/OFF permits or denies the 
user program interruption privileges, 


LOOKING FOR AT 
PERFORMANCE 
FROM YOUR PC? 



Jearth HAS IT FOR 
I LESS THAN $1,000! 


f 

t 


iYOUR SEARCH IS OVER!! EARTH 
COMPUTERS’ exciting new high¬ 
speed, 80286 accelerator card, 
TurboACCEL-286™ , is just what you’ve 
been looking for. The TurboACCEL- 
286 will boost your PC performance up 
to Five times...its completely software 
transparent...and its only $995! 
TurboACCEL-286 will fuction with 
most operating systems and application 
programs (unlike other so-called 
[accelerator boards). 



The TurboACCEL-286 features a 
high-speed, 8MHz, 80286 processor, 
512Kbytes of RAM (expandable to 
1 Mbytes), a switch for8088 operation, 
and facilities for an 80287 math co¬ 
processor. It occupies one expansion 
slot, is completely compatible with 
most PCs and is software transparent. 
End your search for AT performance. 
Order the TurboACCEL-286 today! 
Call or write: 


EARTH COMPUTERS 


P.O. Box 8067, Fountain Valley, CA 92728 
TELEX: 910 997 61 20 EARTH FV 

(714) 964-5784 

Ask about EARTH COMPUTERS’ other 
fine PC and S-100 compatible products. 



MAY 1986 


CIRCLE NO. 212 ON READER SERVICE CARD 



















































At last! - Fast , On-screen 

FLOWCHARTS 

And Organization Charts 


Finally! An on-screen flowchart proc¬ 
essor that knows about flowcharts and 
organization charts - not just another 
“screen draw” program that makes you 
do most of the work. 

Interactive EasyFlow is a powerful 
full-screen graphics program dedicated 
to flowcharts and organization charts. 
With this program you can quickly com¬ 
pose charts on the screen. More im¬ 
portant, you can easily modify charts so 
they are always up to date. 

Features: • Text is automatically 
centered, character by character, within 
shapes as you type it • Text formatting 
controls allow you to over-ride the auto¬ 
matic formating where desired • Lines 
are created by specifying the starting 
and ending points - the program auto¬ 
matically generates the route • Power¬ 
ful editing facilities allow shapes and 
even entire rows and columns of shapes 
to be inserted or deleted; lines are auto- 
matically re-routed as necessary 
• Large chart size (up to 16 shapes 
wide by 16 shapes high) allows very 
large flowcharts and organization charts 
to be handled with ease • Charts can be 
larger than the screen - the window into 
the chart scrolls both horizontally and 
vertically as necessary • Flexible print¬ 
er interface allows it to work with all 


printers, not just dot matrix printers. 
Wide charts can be printed in strips Also 
works with Hewlett-Packard 7475A (and 
compatible) plotters • Twenty standard 
flowcharting shapes included • Com¬ 
mon shapes supplied in three sizes 

• Extensive manual (125 pages) in¬ 
cludes many examples • Context 
sensitive “help” facility provides im¬ 
mediate assistance at any time • Any 
number of titles can be placed on a chart 

• Commentary text blocks can be 
placed anywhere in the chart • Fast: 
written in 8088 assembler • Plus many 
more features than we can mention 
here. 

Requires at least 256K memory, DOS-2 
or higher and an IBM or Hercules com¬ 
patible graphics card. 

Order direct for only $149.95 + $2.00 
S&H (USA/Canada), $10.00 (foreign). 
Payment by MO, check, VISA, COD or 
Company PO. Rush orders accepted 
($15.00 S&H; USA/Canada only). Rush 
orders received by noon will be delivered 
the next business day (to most 
locations). 

The sample screen display shown below is typical of 
what you see while editing a chart. Other screen dis¬ 
plays are provided for entering titles, changing 
options, getting “help” and so on. 


STATUS BAR (not to be 
confused with a wet bar) tells 
you what Interactive EasyFlow 
is doing at all times. 


TEXT/MESSAGE 
WINDOW used to enter 
user text and to display 
messages from Interactive 
EasyFlow. 


CURRENT SHAPE 
WINDOW - shows the ^ 
content of the current 
flowchart shape (the one 
under the SHAPE 
CURSOR) in complete 
detail. 


\ 


CHART WINDOW gives an overview of your chart; this 
example shows the "normal" view. “Close-up” view shows a 
smaller part of the chart in more detail. “Wide-angle" view 
shows a larger part of the chart at reduced size. 


Shape request - M6 


D Is entry - valid *?*| 



HavenTree Software Limited 

P.O. Box 1093-N 

Thousand Island Park, NY 13692 
(613) 544-6035 ext 48 

CIRCLE NO. 113 ON READER SERVICE CARD 



SHAPE CURSOR shows where you are in 
the chart. Cursor keys move it around; chart 
window scrolls if you run off the edge of the 
window. 


dBASE III PLUS 

and SET FORMAT TO <filename> 
opens a data entry screen file. From the 
interactive level dot prompt, the com¬ 
mand DISPLAY STATUS shows param¬ 
eter settings, but these settings cannot 
be determined from within command 
files. For large applications in which 
several programmers may be develop¬ 
ing separate modules, the inability to 
test the dBASE environment upon sub¬ 
program entry means that programmers 
cannot determine which parameters 
must be reset within the subprogram. 

dBASE hi plus offers several power¬ 
ful data file manipulation commands, 
which can process an entire file with 
conditional subset selection within the 
command. For example, the command 

REPIACE REST VENDORNAME 
WITH ’ACME’, 

UNITPRICE WITH UNITPRICE *1.1 

FOR ITEM = PART#3126’ 

WHILE VENDORNO = T23’ 

begins at the current record and con¬ 
tinues, record by record, until the end 
of file is reached, or until the VENDER- 
NO field changes from the value 123. 
Whenever a record is encountered in 
which the item field contains the valu.e 
PART#3126, the UNITPRICE field value 
will be increased by 10 percent, and the 
VENDORNAME field changed to ACME. 
When multiple files are related and a 
field list has been established with the 
SET FIELDS command, REPLACE can 
change values in more than one file at a 
time. Care should be taken not to 
change values in fields that would affect 
the active index sequence, because this 
will disrupt the logical sequence of the 
records during the execution of the 
REPLACE command, and records may 
be inadvertently skipped. 

Database files may be created 
under program control from other data¬ 
base files by copying all or selected 
fields from an existing file. In addition, 
the field definitions of a database file 
may be stored as data in another file 
with the COPY STRUCTURE EXTENDED 
command and modified in the same 
way as any other database file; a new 
database file can be created with the 
CREATE FROM command. 

In addition, JOIN and TOTAL cause 
the creation of database files. The latter 
creates a summary database file from a 
sorted or indexed file, with numeric 
fields automatically totaled into a sum¬ 
mary record for groups of records hav¬ 
ing the same key field. 

Nearly six dozen functions are pro¬ 
vided to test the environment, modify 
memory variables, perform mathemat¬ 
ical and format transformations, con- 


172 


PC TECH JOURNAL 






















vert data types, and manipulate dates. 
Two of the more interesting are the 
IIF(<logical expression>,<result if 
expression is true>,<result if false>) 
function mentioned above, and TRANS¬ 
FORM, which converts numeric and 
character data through a picture format; 
it inserts commas, dollar signs, and sim¬ 
ilar characters in the displayed value. 
This function can be used in the report 
writer to make the numbers more 
attractive, but the transformed values 
are no longer numeric and cannot be 
automatically totaled or subtotaled. 

dBASE hi plus uses floating-point 
internal representation for numeric val¬ 
ues, providing 15.9 digits of accuracy 
for arithmetic computations (die user 
can depend on 15-digit accuracy and 
can sometimes achieve 16). To limit the 
incorrect comparison of numbers 
caused by the inexact floating-point rep¬ 
resentation, numeric comparisons are 
performed only to the 13th digit. 
Rounding errors are still possible and 
may affect comparisons after about 
2,000 iterations. Programs that save run¬ 
ning totals should replace the value 
with the combined VAL(STR(<num- 
ber>)) within the 2,000 iterations to 
maintain accuracy in comparisons. This 
is an inconvenience in business applica¬ 
tions that is not found in data managers 
with character or binary-coded decimal 
numeric data types and arithmetic. 

A ROUND function is provided, but 
negative values are rounded to the next 
integer in the positive direction; there¬ 
fore, rounding should always be accom¬ 
plished on the absolute value of the 
number. The MOD function performs 
modulo arithmetic; when one or both 
of the arguments is negative, however, 
the result should be tested because it 
may not be what is expected. 

Because dBASE is an interpreted 
language, sophisticated macro expan¬ 
sion is possible. Simple macro expan¬ 
sion using the & operator is useful for 
parameterizing programs, as in 

USE &DDRIVE.DATAFILE INDEX 
&IDRIVE.INDXFILE 

where the memory variables DDRTVE 
and IDRIVE contain values such as C: or 
B:. The period delimits the end of the 
memory variable name to prevent ambi¬ 
guities. Sophisticated macros may gen¬ 
erate full dBASE commands, as in 
&DOIT, which might expand to 

DO SUBPROG WITH \T.\ PARM2, VALUE 

This type of macro is not supported by 
the RunTime + interpreter and probably 
should not be used if the code is ever 
going to be maintained. 


dBASE hi plus provides a tool called 
a data catalog to organize files in an 
application. A catalog file is a database 
file with a .CAT extension and a specific 
structure. dBASE automatically opens a 
catalog in work area 10 and maintains 
its records in response to the process 
of creating and erasing files associated 
with the application. Fields in the cata¬ 
log record for each file contain the 
path, file name, alias, file type, a user- 
entered title, a code relating files to the 
data file from which they were created, 
and a user-specified tag. The file types 


and default file-name extensions that 
are automatically maintained in the cata¬ 
log are the following: data (.DBF), view 
(.VUE), format (.FMT), index (.NDX), 
label (.LBL), query (.QRY), report form 
(.FRM), and screen (.SCR). 

When a catalog is open in an appli¬ 
cation, it may be queried during inter¬ 
active command operations to deter¬ 
mine available files applicable in the 
current context. For example, after 
opening a data file with the USE com¬ 
mand, the command SET INDEX TO ? 
displays a menu of all cataloged index 


Why debug your Program in 
Assembly Language when you 
wrote it in one of these... 


Without source level debugging, the 
programmer must spend time mentally 
making translations between assembly 
language and the C or Pascal in which the 
program was written. These tedious trans¬ 
lations burn up valuable time which 
should be spent making critical product 
schedules. Lower level debugging tools 
are superseded by Atron’s SOFTWARE 
SOURCE PROBE. This is the debugging 
tool used by professionals. Why? — 

Because it has the features they need to 
solve complex debugging problems. 
SOFTWARE SOURCE PROBE has the 
same command interface as the Atron 
hardware assisted software debuggers — 
so you can fill your lab with compatible 
debugging tools and minimize new learning. 

How To Single Step Your 
Source Code And Keep Critical 
Data In View 

With SOFTWARE SOURCE PROBE, you 

can step your program by source code 
statements. While stepping, a window which 
you define can display critical high level 
data structures in your 
program. The next 
several source code 
statements are also 
displayed to give you 
a preview of what the 
program will do. 


Software 
Probe Source 

How To Display Data In 
Meaningful Formats 

Why look at program data in hex when you 
defined it to be another data type in your 
program SOFTWARE SOURCE PROBE 

provides a formatted print statement to 
make the display of your variables look like 
something you would recognize. You can 
specify data symbolically, too. 




Solving The Tough Bugs 

When the others fail, SOFTWARE 
SOURCE PROBE keeps on debugging. 
When you need isolation between the 
debugger and the program — you get 
screen switching, dual monitor support, or 
you can run the debugger from a totally 
separate CRT. When you need to get out 
of a program lock up state — you get 
recovery through the optional crash 
recovery switch box. When you want to 
trace a procedure calling sequence — you 
get a command to unthread stack nesting. 
When you want conditional sequential 
breakpoints — you get powerful LOOP, 

LOOP COUNT and IF/THEN/ELSE debug 
commands. When you want to build 
complex command sequences, you get 
Macro commands. And when you need an 
affordable debugging tool — you get 
SOFTWARE SOURCE PROBE — s 129 
CRASH RECOVERY SWITCH BOX — $ 99. 
Then when you want to optimize the 
performance of your program — get Atron’s 
SOFTWARE PERFORMANCE AND 
TIMING ANALYZER (also s 129). It gives 
you histograms of your executing program, 
counts events, and shows you all the 
execution times of given procedures. 

So why waste 
more time. 

Call Atron and 
gat one of our 

BUGBUSTERS 

today... 



20665 Fourth Street • Saratoga 




THE DEBUGGER COMPANY 

CA 95070 • 408/741-5900 


CIRCLE NO. 249 ON READER SERVICE CARD 


MAY 1986 


173 









dBASE UI PLUS 


files previously created from the open 
data file. The catalog concept is useful 
for managing the multitude of files 
usually created for an application. 

An interpreted language has a sub¬ 
stantial advantage over compilers dur¬ 
ing the debugging process, and dBASE m 
plus provides features to enhance this 
advantage even further. Commands en¬ 
tered at the dot prompt are saved in a 
last-in, first-out history buffer and can 
be recalled, edited, and reexecuted. The 
history feature may be set on or off and 
the size of the buffer changed with a 


SET HISTORY command. The default 
size provides space for 20 commands. A 
feature called DOHISTORY traps com¬ 
mands executed from program files 
into the history buffer for analysis. 
Command file programs can be exe¬ 
cuted in single-step mode and observed 
during execution with SET ECHO and 
SET DEBUG facilities. 

Programs can be suspended and 
resumed with breakpoint SUSPEND 
commands that are embedded in the 
program, or the Escape key may be 
used to interrupt operations. While the 


program is suspended, the current 
status of all memory variables, file posi¬ 
tions, and parameter settings is available 
for review. The suspended command 
file cannot be modified, and any modifi¬ 
cations to memory variables should be 
attempted only with caution. The sus¬ 
pended program either may be re¬ 
started with the RESUME command, or 
it may be canceled. 

Performance issues are important 
when discussing an interpreted lan¬ 
guage. A compiler would provide sub¬ 
stantial speed increases for many dBASE 
programs. Programs using the data file 
manipulation commands wherever pos¬ 
sible to process large amounts of data 
do not show as much improvement be¬ 
cause disk I/O will probably be the lim¬ 
iting factor. dBASE m plus performance 
suffers most when many memory vari¬ 
ables are manipulated in loops. 

SORTING AND INDEXING 

The two methods used to impose a se¬ 
quence on database files in dBASE nf plus 
are sorting and indexing. Historically, 
dBASE sorting has been excruciatingly 
slow, but dBASE in improved the sort 
performance by orders of magnitude, 
and the indexing performance substan¬ 
tially, so that sorting became a viable 
alternative for some operations. The 
performance improvement in dBASE m 
plus is claimed to be a factor of 10 over 
dBASE m for indexing, and a factor of 2 
for sorting. This relegates sorting to the 
backseat again for all operations except 
those that require processing the entire 
file in sequence. 

If an index sequence is required 
for data maintenance operations as 
well as for reporting, then the index 
should be maintained as data are added 
and updated. When a sequence is nec¬ 
essary for reporting only, the time taken 
to create the index at report time may 
be offset somewhat by the operational 
simplification of maintaining one less 
index file. 

Indexing formulas can combine 
fields and functional transformations of 
fields, whereas sorting is on a field-by- 
field basis to a maximum of 10 fields. 
However, creating an index for reverse 
alphabetical sequence would be diffi¬ 
cult, whereas the sort can do this easily, 
optionally ignoring alphabetic case. 

Space requirements for sorting and 
indexing are not easily compared. Sort¬ 
ing creates a copy of the file, so the 
necessary storage can be determined. 
Storage requirements for a B+tree in¬ 
dex can only be approximated, and the 
formula depends on key size and num¬ 
ber of records. Index files can exceed 


THE BEST JUST GOT MUCH BETTER 


he Greenleaf 
Functions v3.0 Is 
Bigger and Better! 

Over 225 functions — DOS, 
disk, video, graphics, string, 
time/date, equipment determina¬ 
tion to name only a few. New 
disk status and Ctrl-Break control 
functions! Exciting new features 
include automated installation, 
all memory model library files 
now supplied, identifier length 
options supported, and more. 
Twenty new functions added in 
v3.0 Don’t re-invent the wheel; 
get your copy today! 


he Greenleaf 
Comm Library 
v2.0 is Here Now! 

Over 120 all new functions — 
interrupt driven communications 
on up to 16 ports simultan¬ 
eously, XMODEM, X0N/0FF, send 
and receive with confidence that 
only this fully bufferred system 
brings. New easy installation, all 
memory models, new Ctrl-Break 
immunity, keyboard functions, 
lots more. All new manual and 
demos. Many examples make it 
easy to use, too! 


Both available now from your dealer or 
Greenleaf Software, Inc. 


Greenleaf Comm Library v2.0 $185 

Greenleaf Functions v3.0 $185 

Lattice C Compiler v3.0 $395 

Microsoft C Compiler v3.0 $295 

Computer Innovations C86 $349 

Mark Williams MWC86 $475 

Add $5.00 per unit for ground 
shipping. 

Master Card, VISA accepted. 


All libraries contain full source 
code, complete professional 
documentation with many 
examples, applications and func¬ 
tion selection information, a 
reference card, access to bulletin 
board, and a subscription to 
The Greenleaf Chronicles 
newsletter. There are no 
royalties. All prices subject to 
change. 

For more information call: 

ireenleaf 
Software, Inc. 




2101 Hickory Drive 
Carrollton, TX 75006 

214/446-8641 


174 


CIRCLE NO. 105 ON READER SERVICE CARD 


PC TECH JOURNAL 










the size of the data file if the key is 
lengthy, but complexity of the key 
formula has no effect on index file size. 

REPORTING 

Other data managers incorporate data 
selection and organization in the re¬ 
porting process, but in dBASE m plus, the 
functions of setting up the data for re¬ 
porting (opening and sorting files) are 
separated from report production. Se¬ 
quencing and filtering operations, with 
indexing, sorting, joining, queries, and 
custom programs, are usually per¬ 
formed prior to report production, es¬ 
pecially when the internal report writer 
is used. The command to execute a pre¬ 
defined report or label form may con¬ 
tain FOR and WHILE clauses to select 
data for reporting, but file opening and 
indexing or sorting must have been 
previously accomplished. 

The report generator produces col¬ 
umn-oriented reports with a maximum 
of two breakpoint levels. The report 
form file is generated interactively with 
the command CREATE REPORT <report 
form file name> and can be edited 
with MODIFY REPORT. One or more 
data files must be open when defining 
or modifying a report form, and the 
field list is available as a pop-up menu. 

Report files produced by the report 
generator are invoked with the REPORT 
FORM <formname> command, and 
options in the command syntax can 
establish or modify conditions for head¬ 
ings, output device, and data selection. 
Data can be gathered from more than 
one file, and previously defined query 
filters remain in effect. 

The report generator provides au¬ 
tomatic page numbering and dating. 
Multiline page and column headings 
can be specified, and margins, page 
length, and line spacing set. Page head¬ 
ings cannot contain variable data from 
functions or from the files being pro¬ 
cessed. An optional heading line, speci¬ 
fied when the report is executed, may 
contain functions such as TIMEQ. The 
page heading text lines are automati¬ 
cally centered. The location of the page 
number and date cannot be adjusted, 
and footers are not implemented. Head¬ 
ings and page breaks may be sup¬ 
pressed at report execution time. 

Up to four lines of heading text 
may be entered for each column de¬ 
fined in the report. A report may con¬ 
tain 24 columns, and columns may con¬ 
tain combinations of fields. dBASE m plus 
provides automatic word wrap if a col¬ 
umn is set narrower than the data field, 
and a semicolon may be used to force a 
carriage return and line feed within a 


column. This can be used to stack ad¬ 
dress lines, for example. 

Fairly sophisticated reports may be 
developed if the user learns all the 
nuances of the report writer. Functions 
can modify data as they are output, and 
TRANSFORM can alter presentation 
format. dBASE m plus has no provision 
for presenting large numeric values 
with commas while retaining the ability 
to total and subtotal. This reduces 
somewhat the utility of the report writ¬ 
er for many financial applications. 

Report output may be directed to a 
screen, printer, or file. However, the 
user cannot specify a printer set-up 
character string. The printer must be set 
up by using other output commands 
prior to executing the report. 

The same @ <row>,<col> SAY 
<value> [picture] commands used for 
data entry and screen output can also 
be used to program custom reports of 
any complexity. The programmer is 
responsible for all page, line, and col¬ 
umn counts, although the PROW() and 
PCOLQ functions are used to determine 
the current print position. 

A substantial deficiency in this 
method of producing custom reports is 
the inability to direct the output of 
@...SAY... commands to a file. Custom 
reports destined for files can use only 
the ? and ?? commands, which simply 
append data to an output stream. A sin¬ 
gle question mark produces a carriage 
return and line feed before printing, 
and a double question mark suppresses 
them. Functions, memory variables, and 
fields can be output with the question 
mark command, and the TRANSFORM 
function can be used for formatting, but 
this is an awkward and primitive alter¬ 
native that should not have to be used 
in too many circumstances. 

Mailing labels are generated with a 
separate feature specifically designed 
for the purpose. The creation and invo¬ 
cation of label forms is similar to that 
for the report writer. The label size and 
number across can be specified or 
chosen from a list of standard sizes. 

Line contents are defined using data 
from fields, literals, and functions. As a 
convenience, fields can be separated by 
commas to cause the output to be 
trimmed of trailing blanks and a space 
inserted between them, as in firstname, 
lastname. The IIF function can be used 
to select output data based on values of 
other data in the record, and data can 
be gathered from multiple linked files. 
(A program to print labels for the sam¬ 
ple application is shown in listing 1.) 

When executed, the label program 
produces optional sample labels of 


NOW 3 

CPU Boards 
fromhBus 



OEM systems on the PC Bus: 

Y88. With RS-232/422 console 
support for upload/download. Lots 
(256K) of on-board EPROM for 
dedicated applications. Doesn’t need 
a keyboard or display. 

B88. Closer to a clone. It can use a 
standard IBM CR; keyboard. 

R188. Has 80188 processor that runs 
on the PC Bus but executes the AT’s 
instruction set. 

All have an enhanced BIOS for disk 
or diskless operation, and optional 
ROM debugger. We also have a full 
line of chassis and card cages with 
PC Bus backplanes. 

If you’re into systems, I-Bus speaks 
your language. Call now TOLL FREE 
800-382-4229 for the latest on 
board level PCs. (In Calif, call 



SYSTEMS 


9235 Chesapeake Drive 
San Diego, CA 92123 


CIRCLE NO. 202 ON READER SERVICE CARD 


MAY 1986 


175 











HELP/Control™ - an online help subsystem for the IBM-PC. 

Increase product marketability. Reduce product development time. 

HELP/Control is more than just context-sensitive help. It lets you build tutorial 
sessions, bill-of-material parts catalogs, inventory-driven cross selling... The sky's the 
limit. 

And, HELP/Control is fast. Screens - up to full display size - appear almost 
instantaneously because the runtime system is written in assembler and accesses the 
screen memory directly. Smaller screens appear as windows. Once they've helped, the 
original display is restored just as quickly. 

HELP for the programmer. A few simple subroutine calls add a full-featured online 
help subsystem to your application because HELP/Control is a runtime system linked 
or loaded with that application. (HELP/Control has been fully tested with IBM COBOL, 
IBM BASIC Compiler, Lattice C, Microsoft FORTRAN, Turbo Pascal, IBM BASIC 
Interpreter, and assembler. It is distributed with sample programs in each language.) 

HELP for the documentation writer. Build screens. Define captions. Associate each 
caption with a screen. HELP/Control includes a screen generation language, 
HELPGEN, that reads your sources, creates a runtime file, and lets you use your 
favorite editor. Our HELP/Control reads that file and displays help screens when the 
user activates the help function. 

HELP for the end user. Use the cursor control keys to select a caption. Press return. 
That's it. Each screen has a number of highlighted captions which indicate other 
screens with information on that subject. Lotus 1-2-3 users will feel right at home. 
We've even made the entire HELP/Control manual available as a set of screens so 
you can browse without ever cracking a book. 

HELP for the procrastinator. Your system's complete? You may be able to add our 
slimmed down version of HELP/Control to your existing application. It provides all the 
user functions of our full system with a keyboard intercept for first rate help support 
with minimal effort without looking like an afterthought. (Some site or technical 
restrictions may apply.) 

HELP/Control comes complete with a detailed manual, both online and printed, with 
information for the programmer and documentation writer. It also includes 
instructions for the end user which may be incorporated into the application 
documentation. 

The Standard HELP/Control system implements the online documentation for our 
MDS Outline product. 

PC-DOS 2.0 or greater required for developing HELP/Control applications. 
Applications using HELP/Control will run under PC-DOS 1.0 or greater. The runtime 
system requires approximately 9K for code and buffers for full size help screens. 

The Complete HELP/Control package (software, both manuals, demo programs) 
is $125.00. A demonstration diskette, including the online manual, is available for 
$15.00. To order or for more information, complete this form and return it with 
your check. (Maine residents, please add 5% sales tax.) Or, call MDS, Inc. at (207) 
772-5436. MasterCard and VISA accepted. 


Please send me_copies of HELP/Control at $125. each. 

Name_ 

Address_ 


Phone_ 

MC/VISA No._ 

Expiration Date 
Return to: 

MDS, INC., P.O. BOX 1237, PORTLAND, MAINE 04104 



dBASE III PLUS 

asterisks for printer alignment, and 
blank lines are suppressed automati¬ 
cally. The output can be directed to the 
screen, printer, or text file. 

CRASH RECOVERY 

dBASE in plus provides no features to 
protect data in the event of power loss 
or other equipment failure. Data record 
counts and field definitions are main¬ 
tained in the file header area of each 
file and may be damaged or corrupted 
by system or hardware failure. The only 
sure way to protect data is to perform 
systematic operational backup of files. 

In emergencies, techniques are avail¬ 
able for programmers to replace dam¬ 
aged file headers, and data can be re¬ 
trieved by stripping away the header 
and appending the resultant fixed- 
length data into a new database. These 
techniques may be used only on unen¬ 
crypted files. Linked memo fields in the 
.DBT file are difficult to restore because 
updated text segments are replaced 
with new segments elsewhere in the 
file and are not physically deleted un¬ 
less a COPY or PACK is performed. The 
header and memo file internal struc¬ 
tures are detailed in the documentation. 

Index files often lose synchroniza¬ 
tion with the associated data file 
because of user or programmer over¬ 
sight. The index formula is stored in 
the index file header area, and the 
REINDEX command will cause the in¬ 
dex B+trees to be rebuilt for all open 
index files in a work area. Applications 
should include a utility program to re¬ 
produce essential indexes from scratch. 

MULTIUSER CAPABILITIES 

The dBASE m plus package contains pro¬ 
grams necessary for installation and 
operation on local area networks. The 
networks supported require 8088, 8086, 
or 80286 CPUs and DOS 3.1 or higher. 
For a Novell network, Novell Advanced 
NetWare/86 (version 1.01 and higher) 
and the NetWare Server Board are 
needed. The IBM PC Network calls for 
the PC Network Program (version 1.0 
and higher), and one Network Adapter 
Card for each workstation. The file 
server must have 640KB of memory and 
a hard disk. Workstations require at 
least one floppy disk. Workstations on a 
Novell network need 384KB of memory. 
IBM PC Network Messenger stations re¬ 
quire 640KB, Receivers 312KB, and Re¬ 
directors 448KB. 

A dBASE administrator program is 
installed on the network server, and 
dBASE access is installed at each worksta¬ 
tion. The access program is copy pro¬ 
tected with SoftGuard’s SuperLok and 


176 


CIRCLE NO. 146 ON READER SERVICE CARD 


PC TECH JOURNAL 

















dBASE III PLUS OVERVIEW 


dBASE IH PLUS, version 1.0 

Ashton-Tate, 20101 Hamilton 
Avenue, Torrance, CA 90502-1319; 
213/329-8000 

Product type. A data management and 
applications development system for 
general use with stand-alone or mul¬ 
tiuser local area networks. 

IBM PC environment PC, PC/XT, PC/AT, 
or 100-percent compatible running 
DOS 2.0 or higher with 256KB of 
RAM, two 360KB floppy disk drives, or 
one floppy drive and a fixed disk, and 
a monochrome or a color monitor. 
The system configured with 256KB is 
restricted to DOS 2.x with the mini¬ 
mum number of CONFIG.SYS buffers 
and the minimum number of param¬ 
eters in the dBASE m plus CONFIG.DB 
file. 384KB is needed to run DOS 3.x. 
Other environments. No other environ¬ 
ments are supported. 

Network support. DOS 3.1/IBM PC Net¬ 
work Program or 100-percent compat¬ 
ible; 3Com 3Plus Operating System; 
and Novell Advanced NetWare/86, 1.01 
or greater. A network server/worksta¬ 
tion requires an IBM PC, XT, AT, or 
100-percent compatible with a mini¬ 
mum of 640KB of RAM, a mono¬ 
chrome or color monitor, one 360KB 
floppy disk, and one fixed disk. A net¬ 
work workstation requires an IBM PC, 
XT, AT, or 100-percent compatible 
with a monochrome or color monitor 
and one 360KB floppy disk. Novell 
workstations require 384KB. IBM PC 
Network Messenger stations require 
640KB, Receivers 512KB, and Redirec¬ 
tors 448KB. 

Copy protection. The software is copy 
protected using Softguard’s SuperLok, 
but can be installed on many fixed 
disks. Access modules for LAN-shared 
operations require a copy-protected 
key disk at the workstation. 
Documentation. The documentation for 
this product is substantial, weighing 
9.3 pounds, and includes an on-disk 
tutorial. Ten chapters in the manual 
are about the interactive mode, and 15 
chapters discuss programming. In ad¬ 
dition, a comprehensive reference sec¬ 
tion, a guide to managing the net¬ 
worked version, a command and func¬ 
tion quick reference, and a “Getting 
Started” booklet are included. 

User interface. dBASE m plus uses an 
interactive command mode to com¬ 
municate with users. An assistant 
mode with pull-down menus also is 



provided. The product runs under a 
structured programming language. 

Help facilities. On-line help describes 
individual commands and syntax. The 
assistant mode provides a pull-down 
menu command generation user inter¬ 
face. The status line displays prompts 
as menu choices are scanned. 

File capacities. The software allows 4KB 
per database file; 512KB per memo 
file; 128 fields per record; 1 billion 
records per file; and 2 billion bytes 
per file. A maximum of 20 files of all 
types can be open simultaneously 
(this is due to the DOS limit per pro¬ 
cess), and 10 database files can be 
open simultaneously (a database file 
with memo fields counts as two files). 
A maximum of 7 index files and 1 
format file can be open for each active 
database file. 

Field types and capacities. dBASE hi plus 
allows 254 bytes per character field; 

19 bytes per numeric field; 8 bytes 
per date field; 1 byte per logical field; 
and 5,000 bytes (or external word 
processor capacity) per memo field. 
Data entry. The default field-per-line 
data entry screen is defined by the 
field specifications of the file, but can 
be reorganized using the screen 
format file. The table-view browse 
command enters and modifies data. 
Applications development facilities. Full 
turnkey system development is sup¬ 
ported through programming. The 
applications generator produces auto¬ 
matic menu-driven program code for 
single-file applications, and the 
advanced generator produces menu 
code for user-specified commands. 

The applications generator is written 
in the dBASE 111 plus programming lan¬ 
guage; the source code is not pro¬ 
vided. The software package includes 


the RunTime+ semi-compiler system, 
which can be used for code encryp¬ 
tion and linkage of developed applica¬ 
tions programs. Combinations of 
encrypted, linked, and source code 
can be executed. Runtime modules 
are available that can execute the 
encrypted code without dBASE 111 plus. 
Security. Password security can be pro¬ 
grammed into applications in the 
stand-alone mode. Multiuser installa¬ 
tion provides for multilevel password- 
protection schemes and data encryp¬ 
tion. Multiuser installation also can be 
accomplished on a single-user ma¬ 
chine if password and encryption ac¬ 
cess features are desired. 

Access to system facilities. External pro¬ 
grams (COMMAND.COM and batch 
files) can be run from the interactive 
prompt or from program files. 

Queries. Queries define subsets of 
files or related files by filter specifica¬ 
tions using nested formula conditions 
of fields and virtual fields. They can 
be stored in query files for retrieval 
later either interactively or under 
program control. 

Reporting. Report formats can be 
stored and edited. The software sup¬ 
ports columnar report layout of fields 
per report line. The appearance of 
reports can be tailored using func¬ 
tions, virtual fields, report column 
word wrap, as well as sub and sub-sub 
total breaks. A special mailing label re¬ 
port form and file type is included. 

The reports and labels operate on a 
subset of the file records, which is de¬ 
fined either by report invocation com¬ 
mand or preestablished query. Output 
can be sent to the screen, a file, or a 
printer. Special report formats are 
available through programming. 

Utilities. The catalog feature provides a 
dictionary of data and operational 
files. Data file header specifications 
support damaged file data recovery. 
Data compatibility. The program reads 
and writes fixed-length ASCII, delim¬ 
ited ASCII, PFS, Multiplan SYLK, Lotus 
1-2-3 WKS, and DIF files. 

Distribution. Distributors and dealers. 
Registered dBASE in plus packages are 
upgraded directly by AshtonTate. 

Price. $693; upgrade from dBASE in, 
$140 (free to users of dBASE in pur¬ 
chased after October 1, 1985); free up¬ 
grade from dBASE m developer’s re¬ 
lease version; ctools, $89.95. 

Support Phone support is provided. 

—Dave Browning 


MAY 1986 


177 
















dBASE IU PLUS 

uses the key-disk approach, or it may 
be installed on a workstation local hard 
disk. dBASE access programs are serial¬ 
ized to prevent simultaneous network 
use by more workstations than there 
are authorized access modules. The 
protect program is a separate utility in¬ 
cluded with the administrator and is 
optionally used to control dBASE log-ins, 
file and field access security, and data 
encryption. Only data files and index 
files can be encrypted. The text files 
linked to data files for storage of memo 
fields are not encrypted. The admini¬ 


strator and protect programs may be 
installed in a single-user environment if 
the user desires the encryption and data 
access security features. 

dBASE supports multiple file servers 
in a network, and more than one copy 
of dBASE administrator may be installed 
on separate file servers in the network. 
Several dBASE commands such as 
DISPLAY STATUS show record- and file- 
lock status when dBASE is operating in a 
shared environment. Other commands 
such as DISPLAY USERS are executed by 
the administrator program. Work- 


UNIX™ compatible 
commands FOR DOS 

Percent $95 


If you’ve used UNIX,™ you are frustrated with your PC because 
the commands you want just aren’t there. Percent brings UNIX- 
compatible commands and a powerful command processor to 
your IBM-PC, XT, or AT computer. 


Percent is Robust. 

The Percent shell provides 
command history, aliases, and 
true Input-Output redirection. 
Commands are fully optioned. 

Percent is Compatible 
Percent commands do filename 
expansion, parameter substition 
and quoting like UNIX. 

Runs Under MS-DOS M 
Percent is the only UNIX- 
compatible system that mns 
under MS-DOS. That means 
Percent and other MS-DOS 
software can run side-by-side. 

To Order. 

Send a check for $95 U.S., or 
simply call us. If you have 
questions, ask us for a brochure 
or use our Reader Service Card. 

Thompson 

Automation 

UNIX is a registered trademark of AT&T. 
Microsoft Corporation. 


Commands. 

grep.fgrep - search files for patterns 
diff - compare files, print differences 
IsJIJr - sorted directory listing 
pr - format files for printing 
mv - move files or directories 
cp - copy files or directories 
cat - type or concatenate files 
rm - remove files or directory trees 
head - print first few lines of files 
tail - print last few lines of files 
tee - copy piped data into a file 
wc - count words and lines in files 
mkdir, rmdir- make, remove directories 
touch - update time of a file 
pwd - print working directory 
chmod - change file mode (attributes) 
split - split up a big file 
df - print disk free space 
cu - communicate with another system 
encode, decode - cu binary files 
Shell Internal Commands 
sh - command interpreter 
cd - change dir, default to $HOME 
history - print history of commands 
! - re-execute a previous command 
alias - establish a command macro 
unalias - remove a command macro 
dirs, pushd, popd - directory stack 
set - set environment variables 
which - find executable command 


PO Box 5163 
Beaverton, OR 97006 
Phone (503) 645-9434 

MS-DOS is a registered trademark of 


CIRCLE NO. 178 ON READER SERVICE CARD 


stations may direct printer output to 
local or network printers. 

The protect program establishes 
and maintains security in the network 
dBASE environment. A dBASE log-in is 
maintained for each user, access privi¬ 
leges to files and fields are assigned, 
and data encryption is enabled. Users 
and files are assigned to groups, and 
each group uses a different key for en¬ 
cryption. Within each group, individual 
users can be given different categories 
of access to the application’s data files. 

A password system file DBSYSTEM.DB 
is built and maintained by the protect 
program and stored in an encrypted 
form. A hard copy of the protect menus 
can be made during the security set-up 
process for reference when users forget 
their passwords or other log-in values. 

Simultaneous data access by multi¬ 
ple users requires management to avoid 
collisions and deadlocks. Files are 
opened in either exclusive or shared 
modes. Files opened for exclusive use 
do not require concern for locking 
activities, because only one user may 
access the data. If the SET EXCLUSIVE 
parameter is on, then files automatically 
default to the exclusive mode when 
opened. When the parameter is off, the 
files are opened for shared mode. Com¬ 
mands that operate on entire files, such 
as BROWSE, REPLACE ALL, and SORT, 
cause dBASE to lock the file automati¬ 
cally before executing the command. If 
the file cannot be locked, an error is 
generated that can be trapped by the 
ON ERROR setting. The RETRY com¬ 
mand can be used to attempt the com¬ 
mand execution again. 

When @...GET/READ commands or 
single-record REPLACE commands are 
used, the programmer must lock the 
record, redisplay the current data 
(which may have changed since the 
time the user first viewed it for editing), 
change the data, and unlock the record. 
Locking of multiple records or records 
in multiple shared files must be pro¬ 
grammed carefully to avoid file dead¬ 
lock—that is, two user programs trying 
to lock overlapping sets of files or 
records, with each program capturing a 
portion of the files or records in the 
shared subset. The dBASE file- and 
record-lock commands do not support 
specification of more than one item at a 
time for locking, so the programmer 
must include logic in order to detect 
and break the deadlock condition. 

When the dBASE full-screen EDIT or 
CHANGE commands are executed, the 
user at the keyboard can control the 
lock status of the current record by 
pressing Ctrl-O. dBASE will show the 


178 


PC TECH JOURNAL 










lock status in the status bar. Of course, 
operational procedures must be 
enforced to keep users from leaving 
records locked unnecessarily. 

Programming commands are also 
available to test user access authoriza¬ 
tions from within programs. Program 
logic can then implement additional 
security by avoiding display of menu 
choices or functions for which the user 
does not have authorization. Programs 
can execute the LOGOUT command 
when the user finishes. 

dBASE m plus ignores network- 
specific features in programs when 
executed in a single-user environment, 
so applications can be designed and 
programmed for the multiuser mode 
from the beginning. 

SUBSTANTIAL DOCUMENTATION 

The dBASE in plus documentation is sub¬ 
stantial. An attractive storage case of the 
standard height and depth contains two 
loose-leaf volumes, several booklets, 
and weighs in at 9.3 pounds. 

The two volumes of main docu¬ 
mentation are divided into five sections. 
Volume 1, Learning and Using dBASE hi 
plus , includes a 10-chapter section 
“Learning dBASE hi plus,” which uses the 
assistant mode and a disk of sample 
files to provide a hands-on tutorial. 

The reference section, “Using 
dBASE m plus,” is the largest of all the 
sections and will be used extensively by 
programmers and end users alike. The 
overview chapter in this section pro¬ 
vides program technical specifications 
and limits, describes the different types 
of files used by dBASE m plus, lists key¬ 
board navigation for full-screen opera¬ 
tions, and explains the use of the CON- 
FIG.DB file to customize default param¬ 
eters. This chapter also provides an 
excellent summary of the differences 
between dBASE iii plus and the previous 
dBASE iii versions. The rest of the sec¬ 
tion includes chapters on user interface 
procedures, key words, commands, 
functions, utilities, and error messages. 
Command descriptions do not start on 
a fresh page for each command, and 
page header guide words are not pro¬ 
vided. Key words, such as SYNTAX, 
USAGE, EXAMPLES, DEFAULTS, and SEE 
ALSO, are set off to the left of the text, 
and the command name is highlighted 
in blue. The reference material is de¬ 
tailed and informative. 

The utilities section describes the 
differences between dBASE n and iii. It 
also provides instructions for operation 
of the dcoNVERT program, which helps 
move dBASE n applications to dBASE iii. 
The error message section lists error 


messages with explanations and identif¬ 
ies the associated error number re¬ 
turned via the ERROR() function. 

Appendices list the structure and 
contents of the sample files, list and de¬ 
scribe the cursor control key opera¬ 
tions, and provide technical layout of 
the .DBF and .DBT files. The compli¬ 
cated logic is also described for deter¬ 
mining which conditions cause the 
BOF() and EOF() functions to be set 
when testing for beginning and end of 
file positions. A glossary of terms and a 
comprehensive index are provided. 


Volume 2 contains a 16-chapter 
section, “Programming With dBASE in 
plus,” intended to teach programming 
in the dBASE language. A checkbook 
management system application of 
more than two dozen files and 
programs is provided on disk and 
serves as study material for the pro¬ 
gramming tutorial chapters. 

“Networking with dBASE in plus” 
provides information on network data¬ 
base applications management, opera¬ 
tional considerations, applications secu¬ 
rity, network programming concepts, 


It's 3 AM! 



Do you know triiere your bugs are ? 


This C programmer is finding his bugs the hard way ...one at a time. 
That's why it's taking so long. But there's an easier way. Use 


PC-Lint 

PC-Lint* analyzes your C programs (one or many modules) and uncovers 
glitches, bugs, quirks, and inconsistencies. It will catch subtle errors before 
they catch you. PC-Lint resembles the Lint that runs on the UNIX* O.S., but 
with more features and some awareness of the 8086 environment 


• Full K&R C 

• Supports Multiple Modules-finds incon¬ 
sistencies between declarations and use 
of functions and data across a set of 
modules comprising a program. 

• Compares function arguments with the 
associated parameters and complains if 
there is a mismatch or too many or too 
few arguments. 

• User-modifiable library description files for 
most major compilers. 

• All warning and information messages 
may be turned on and off globally or 
locally (via command line and comments) 
so that messages can be tailored to your 
programming style. 

• All command line information can be 
furnished indirectly via file(s) to automate 
testing. 


• Use it to check existing programs, 
programs about to be exported or im¬ 
ported, as a preliminary to compilation, or 
prior to scaling up to a larger memory 
model. 

• All one pass with an integrated pre¬ 
processor so its very fast. 

• Has numerous flags to support a wide 
variety of Cs, memory models, and 
programming styles. 

• Price: $139.00 MC, VISA 

(Includes shipping and handling) PA residents add 6% 
sales tax. Outside USA add $10.00 

• Runs under MS-DOS* 2.0 and up, with a 
minimum of 128Kb of memory. It will use 
all the memory available. 

Trademarks: PC-Lint (Gimpd Software), UNIX A T& 7), 
MS-DOS (Microsoft)). 


Amiga - Lint 

Special Introductory Price 
$98.00 


3207 Hogarth Lane • Collegeville, PA 19426 

(215) 584-4261 


MAY 1986 


179 

























dBASE ffl PLUS 


Fortran Support 
for 

IBM PC/XT/AT & Compatibles 


Versions Available For: 

Microsoft, Supersoft, RvanMcFarland, 
IBM Professional, Lahev, & IBM 
Fortran. 

Forlib-Plus 

$ 69.95 

Supports graphics, interrupt driven com¬ 
munication, program chaining, and file 
handling/ disk support. A Fortran coded 
subroutine is included which will plot data 
on the screen either in linear/linear, log/ 
linear, linear/log, or log/log on the appro¬ 
priate grid. 

Strings & Things 
$ 69.95 

Supports string maipulations, command 
line usage, DOS call capabilities, SHELL 
generation and data transmission, BATCH 
file control, music generation, PEEKS and 
POKES, PORT access, and general register 
manipulations. 

For-Winds 
$ 89.95 

Gives the Fortran programmer the capa¬ 
bility of generating up to 255 windows on 
the screen. Each window can be individually 
scrolled, moved, sized, generated, and 
removed. Both color and monochrome type 
displays are supported. Full source code is 
supplied for customization. 

ACS Time Series 
$ 495.00 

This is a COMPLETE time series analysis 
package which contains VERY HIGH 
SPEED FFTs, Filter generations, convo¬ 
lutions, transfer function calculations, auto 
and cross spectra calculations, Cepstrum, 
curve fitting algorithims, coherence calcu¬ 
lations, and many other associated routines. 
The price includes FULL source code. 

Fortran Scientific 
Subroutine Package 
$ 295.00 

There are approximately 100 Fortran sub¬ 
routines included which fall under the 
following 12 categories: 

I) Matrix storage and Operations 2) 
Correlation and Regression, 3) Design 
Analysis (ANOVA), 4) Descriminant Anal¬ 
ysis, 5) Factor Analysis, 6) Eigen Analysis, 7) 
Time Series, 8) Nonparametric Statistics, 9) 
Distribution Functions, 10) Linear Analysis, 

II) Polynomial Solutions, 12) Data 
Screening. Full source code is included. 

ALPHA 

COMPUTfR 
IIIVICI 

Alpha Computer Service 
P.O. Box 2517 
Cypress, California 90630 
(714) 894-6808 


California Residents 
Include 6% Sales Tax 


There are NO license fees 


and a reference section of dBASE com¬ 
mands and functions specific to net¬ 
work programming. This very technical 
section must be thoroughly understood 
for effective use of dBASE hi plus in a 
network environment. The subject of 
network database applications develop¬ 
ment is complex and difficult, and this 
section needs to be expanded. 

The final section, “Runtime*,” 
presents the process of code encryption 
with the dcoDE program and linkage of 
encrypted program files with dBLiNKER. 
The use of the runtime interpreter 
dBRUN is also discussed, including the 
constraints imposed on programs 
intended for runtime applications. 

The 53-page booklet Getting 
Started , also included in the documen¬ 
tation package, covers the mechanics of 
installation and set-up for various 
system configurations, including dual¬ 
floppy, hard disks, and LANs. 

The Applications Generator booklet 
discusses in 41 pages the use of the 
dBASE program APPSGEN.PRG provided 
for automatic programming of simple 
applications. The errata sheets indicate 
that the program is provided in a code- 
encrypted and linked form for perform¬ 
ance reasons, and that the directory of 
the applications generator disk is differ¬ 
ent from that listed in the booklet. This 
subtle change means that dBASE source 
code for the applications generation 
process is not available to the user, as 
was apparently intended. This is most 
unfortunate, because the applications 
generator program could have been tai¬ 
lored by developers for repetitious pro¬ 
gramming tasks. As it is, the lack of 
source code limits the usefulness of the 
applications generator program. 

A Quick Reference Guide lists the 
dBASE language commands, and func¬ 
tions giving syntax. In addition, a small 
Customer Support Guide discusses the 
warranty and support provisions, pro¬ 
vides reference addresses and tele¬ 
phone numbers, and emphasizes the 
need to register the package (which is 
further encouraged by a chance to win 
a $500 hardware prize). 

Among several promotional and 
advertising inserts included with the 
documentation is an order form for 
Ashton-Tates TechNotes. This monthly 
publication, which provides program¬ 
ming tips, known errors and work¬ 
arounds, sample programs, questions 
and answers, and update policies, is 
well worth the annual $50 fee. 

END-USER FACTORS 

Ashton-Tate has tried to make dBASE hi 
plus a product for developers and end 


users alike. Development of entirely 
customized applications is possible 
because the programming language has 
access to low-level functions such as 
INKEY(). The end-user interface consists 
of several full-screen, interactive com¬ 
mands, such as BROWSE or CREATE 
QUERY, which may be invoked through 
the assistant mode or from the dot 
prompt. These end-user interface com¬ 
mands can also be used within pro¬ 
grams to avoid substantial programming 
effort. The most efficient method of 
applications development uses a com¬ 
bination of custom programming and 
the default end-user interface. 

dBASE hi plus arrives on eight floppy 
disks. The program itself, with help files 
and overlays, requires two system disks. 
The first is copy protected with Super- 
Lok, and a backup copy is provided. If 
the program is run from floppy disks, 
the files on the second disk must 
remain available for help files and over¬ 
lays. Separate disks are provided for 
sample programs and utilities, the on- 
disk tutorial, and the applications gener¬ 
ator program. The dBASE administrator 
program for use with network opera¬ 
tions takes up two more disks. 

Special CONFIG.SYS and CON- 
FIG.DB files are provided for single- 
user operation on a 256KB system. 
These files limit the number of DOS 
buffers to four and restrict the maxi¬ 
mum default values for several dBASE 
parameters. DOS 2.1 must be used 
with 256KB systems. 

dBASE uses the DOS path in the en¬ 
vironment to look for configuration, 
overlay, and help files if not found on 
the default drive, so applications may 
be developed in separate subdirecto¬ 
ries. The program will first look for the 
CONFIG.DB file in the DOS default 
directory; this allows alternate start-up 
default parameters to be configured for 
different applications. 

A SET PATH TO command sets an 
internal path list for dBASE to search for 
existing files such as applications pro¬ 
grams or the applications generator 
program. This setting does not override 
the existing DOS path and is not com¬ 
municated to external programs that are 
called with the RUN command. 

For networks, the administrator 
program is installed on the network file 
server, and the access program is 
installed on dBASE system disk number 
one or on a local workstation hard disk. 
The dBASE program actually becomes 
access and is renamed by the installa¬ 
tion batch file, access communicates 
with administrator for security and net¬ 
work locking functions. 


CIRCLE NO. 101 ON READER SERVICE CARD 


PC TECH JOURNAL 










PHOTO ll Interactive Query Creation 



Line 

1 field 

Operator 

Constant^Expression 

Connect 

1 

| AUTHOR->STA 

Is contained in 

"HI/RI" 

.AND. 

2 

( ARTICLE->PA 

More than 

106 

.OR. 

3 

4 

5 

6 

7 

ARTICLE->ED 
ARTICLE->CA 

More than 

Hatches 

10 

"Technical Article" 

) .AND..MOT. 


The CREATE/MODIFY QUERY command provides this inter¬ 
active method of creating a filter condition that defines sub¬ 
sets of the data. Subsequent commands, such as REPORT, 
LIST, or EDIT, respect the filter condition in effect. 


FIGURE 2: Status Reflecting Filter 


. set view to qexample 
. set filter to file qexample 
. display status 

Currently Selected Database: 

Select area: 1, Database in Use: C:ARTICLE.DBF Alias: ARTICLE 

Master index file: C:ARTLABEL.NDX Key: STR(VOLUME,1,0)+STR(NUMBER,2,0) 
+UPPER(AUT H0R_LN+AUT H0R_FN) 

Filter: TRIM(AUTHOR->STATE)$ ,, HI/RI' 1 .AND.(ARTICLE->PAYMENT> 100 .OR. 
ARTICLE->EDIT_PAGES >10).AND..NOT.ARTICLE->CATEGORY= "Technical Article" 
Related into: AUTHOR 
Relation: UPPER(AUTHOR_LN+AUTHOR_FN) 

Select area: 2, Database in Use: C:AUTHOR.DBF Alias: AUTHOR 

Master index file: C:AUTHOR.NDX Key: UPPER(AUTHOR_LN+AUTHOR_FN) 


The DISPLAY STATUS command shows how the filter, estab¬ 
lished by the interactive query creation shown in photo 1, is 
stored as part of the view. The filter also can be set directly 
with the command SET FILTER TO <condition>. 


QUERY LANGUAGE 

The dBASE hi plus query process is a 
mixture of features found in the ap¬ 
proaches of relational algebra and cal¬ 
culus. The product offers no specific 
high-level query language such as SQL 
(Structured Query Language), but it 
does have features that allow the extrac¬ 
tion of data from multiple files without 
the creation of intermediate tables. For 
the user who understands the structure 
of a database, many queries are straight¬ 
forward, and the reporting commands 
allow additional selection of the set of 
data to be presented. 

The concept of a filter on the data, 
which is used throughout dBASE, defines 
subsets of the data files currently open. 
The CREATE/MODIFY QUERY command 
provides a full-screen and interactive 
method of creating a filter condition, 
which may be saved in a file for later 


recall and modification. Once the filter 
condition has been established, sub¬ 
sequent commands, such as REPORT, 
LIST, or EDIT, respect it. One query fil¬ 
ter condition may be saved with a view 
and involve fields from more than one 
file. Photo 1 shows one of the screens 
in the interactive process of creating a 
query filter condition. Figure 2 shows 
the status of the files and the filter con¬ 
dition after the two commands 

SET VIEW TO QEXAMPLE 
SET FILTER TO FILE QEXAMPLE 

have been executed. The filter could 
also have been set directly with 

SET FILTER TO <CONDITION> 

which is often used in programs. 

A query may become quite com¬ 
plex before the creation of intermediate 
files is needed; the query itself may 


require more than one command for 
implementation. Separate filters may be 
invoked for each of several related files, 
but the ability to refer to fields from 
multiple files in one filter condition 
makes this unnecessary in all but the 
most complex situations. 

Additional conditions may be im¬ 
posed to select the data subset during 
the reporting process. The SET FIELDS 
TO Cfield list> command specifies 
which fields from the open data files 
are available for subsequent use. The 
commands for data display, reports, 
labels, copy, join, sum, browse, and sev¬ 
eral others respect both the field list 
and filter conditions in effect at the 
time of their execution; the command 
syntax permits additional FOR and 
WHILE conditions to be specified. 

These commands also allow a further 
selection of the fields to be used. 


TRUE MULTI-TASKING! 


TASKVIEW is high tech, available now, and it works with virtually all DOS software. 
Give Lotus, Sidekick, Multimate or most any DOS program the advantages of real multi¬ 
tasking. It’s simple to use, compatible, bulletproof and most of all, it won’t slow you 
down. That’s because TASKVIEW only shares your computer when YOU want it shared. 
At other times, your visible program runs at full speed, waiting for you to easily 
switch from program to program at the touch of a key. Compatible with most DOS 
computers including the IBM PC/XT/AT/Jr. series, you can order TASKVIEW today 
for only $69-95 + 5.00 Shipping and Handling, VISA and Mastercard. 


ORDER LINE 
( 206 ) 367-0650 

30 Day Money Back Guarantee. 


Taskview trademark Sunny Hill Software. 
Lotus trademark Lotus Development Corp. 
Sidekick trademark Borland Inti. 
Multimate trademark Ashton Tate. 


Sunny Hill 
Software 

13732 Midvale North Suite 206 
Seattle, Washington 98133 




CIRCLE NO. 152 ON READER SERVICE CARD 


MAY 1986 


181 





















































"Window 


Interactive (tJ^Q 95 
DOS Utility 

Resident program gives you 
instant access to many 
enhanced DOS functions 
and instant return to where 
you were. 


Reduce time 


screen 

glance. 


searching for your 
nes ana periorming DOS 
commands. See up to 85 files per 

ige. Identify sub-directories at a 
Bet quick and easy display of 
contents. 

* Make your DOS commands 
easier to use. Pop up windows simplify 
DOS operations, utilize single keystroke 
commands, return you instantly to where 
you left off. 

* Take full control of your printer. 

Call up printer output window from inside 
-and give necessary printer 


" WindowDOS quickly established itself as an 
ible part of my PC environment . / can’t 
imagine working without it.” 


Paul Bonner, Reviewer, PC Week 


v 


$49.95 

Plus $5 handling and shipping 

1-800-433-5355 
Texas 214 264-2626 

Money orders, cashier's checks, VISA, MC, 
AmEx, and Corporate Purchase Orders. 


Software of the Future 
Box 531650 Grand Prairie. TX 75053 


WindowDOS is for use with IBM PC, XT, AT and true 
compatibles. Requires DOS 2.0 or newer and 80 column display. 
Uses only 40K of memory. 


CIRCLE NO. 127 ON READER SERVICE CARD 


182 


dBASE III PLUS 

In “A Perspective on Data Models” 
(Clyde Holsapple, PC Tech Journal, July 
1984, p. 113) the SQL example: 

SELECT EMPNAME, EMPADDR, DEPNAME 
FROM EMPLOYEE, DEPARTMENT 
WHERE DEPID IN [7,12,3] 

AND DEPARTMENT.DEPID = 
EMPLOYEE.DEPID 
ORDER BY EMPNAME 

was used to produce a dynamically 
sorted report of employee names, ad¬ 
dresses, and department names for all 
employees in departments 7, 12, or 3. 
The same query can be accomplished 
in many ways in dBASE hi plus. Two ex¬ 
amples are presented below. 

SELECT 2 

USE DPARTMNT.DBF 
INDEX ON DEPID TO DEPID.NDX 
SET FIELDS TO DEPID, DEPNAME 
SELECT 1 

USE EMPLOYEE.DBF 

INDEX ON EMPNAME TO EMPNAME.NDX 
SET RELATION TO DEPID INTO 
DPARTMNT 

SET FIELDS TO EMPNAME, EMPADDR 
SET FILTER TO DEPID $ [7,12,3] 

SET FIELDS ON 

LIST EMPNAME, EMPADDR, DEPNAME 

Assuming the index files on the depart¬ 
ment and employee data files are nor¬ 
mally maintained as part of the applica¬ 
tion, the following commands could be 
entered as an alternative: 

SELECT 2 

USE DPARTMNT INDEX DEPID 
SELECT 1 

USE EMPLOYEE INDEX EMPNAME 
SET RELATION TO DEPID INTO 
DPARTMNT 

LIST EMPNAME, EMPADDR, 

DPARTMNT—>DEPNAME 
FOR DEPID $ [7,12,3] 

Note that in each of these dBASE quer¬ 
ies, all of the set-up prior to LIST could 
have been captured in a view and re¬ 
called with one command, SET VIEW 
TO EMPDEPT. This would be a com¬ 
mon view into the employee and 
department files, and, once established, 
could be used for repeated commands 
to view, print, or print labels. The selec¬ 
tion process could also continue by 
adding conditions such as state or zip 
code selection from the address field, 
and the resultant table could be copied 
to a new file for distribution. 

When desired, commands such as 
COPY, JOIN, or TOTAL produce new 
tables with fields selected from the ac¬ 
tive field list and extracted from more 
than one related file. The ability to es¬ 
tablish a relation of several files, select 


desired fields, establish filter conditions, 
and then copy or join portions of this 
virtual table to create a new table pro¬ 
vides efficiency, flexibility, and power in 
the query process, but does not fully 
automate the process as is done in an 
SQL-type query language. 

IMPORT/EXPORT 

dBASE hi plus can import data from 
Multiplan SYLK and Lotus 1-2-3 .WKS 
spreadsheets, general DIF files, column- 
positioned ASCII files such as those 
produced by most spreadsheet or word 
processing programs, or delimited 
ASCII files. The delimiter may be speci¬ 
fied. The command APPEND FROM is 
used to import data from these files by 
specifying the file type. The COPY TO 
command is used to export data from a 
dBASE data file into one of the above 
formats by specifying the file type in the 
command. As discussed above, the 
COPY command can also select fields 
and impose conditions for the set of 
data to be copied. 

The IMPORT and EXPORT com¬ 
mands provide an interface with the 
PFS files from Software Publishing Cor¬ 
poration. The PFS screen layout defini¬ 
tion is captured automatically into a 
dBASE format file for use with the 
imported data file and is created in PFS 
form from a dBASE format file when 
exporting. A view file is also created 
when importing, and the command SET 
VIEW TO <PFS file name> opens the 
file with its format screen. 

The ?/?? <expression list> com¬ 
mand can be used to prepare files of 
nearly any format for output. An alter¬ 
nate file may be specified with the SET 
ALTERNATE TO <filename> command, 
and output can be toggled on and off 
with the SET ALTERNATE ON/OFF com¬ 
mand. The output of the ?/?? commands 
is sent to the alternate file as well as 
optionally to the screen or printer. The 
file is considered to be an output string 
of bytes, and any character except a 
byte of eight binary zeros may be sent 
with the CHR (n) function. 

The applications generator pro¬ 
gram, supplied in encrypted and linked 
form as discussed above, is the only 
real application provided with dBASE m 
plus. The applications provided with the 
tutorial material—a checkbook program 
and a travel reservations program—may 
have some value to specific users, and 
the source code is provided for exami¬ 
nation and modification. 

Hundreds, if not thousands, of ap¬ 
plications are written in dBASE n or in 
and sold by third-party vendors. Many 
of these applications are certain to be 


PC TECH JOURNAL 























































rewritten or converted to dBASE hi plus. 
Ashton-Tate is planning to publish a cat¬ 
alog of third-party applications. 

dBASE ctools, supplied by Ashton¬ 
Tate, provides a library of functions 
written in the C language and a stan¬ 
dard interface module. This module 
provides a path between dBASE program 
files and an external library of ftinc- 
tions. The ctools series is designed to 
enhance performance of memory-inten¬ 
sive calculations and array manipulation 
and to provide facilities for develop¬ 
ment of special purpose applications. 
Ashton-Tate intends to release addi¬ 
tional library functions for the ctools 
program in the future. 

SAMPLE APPLICATION 

The development of PC Tech Journals 
sample application of a database of 
three files to track articles and authors 
revealed several strengths and weak¬ 
nesses in dBASE hi plus. Some of these 
have already been mentioned in the 
sections discussing the individual fea¬ 
tures of the program. Choices in the 
way the package uses and relates files 
showed their impact on the design of 
database, program, and user interface. 

One of the stumbling blocks men¬ 
tioned earlier was the inability of dBASE 
to relate one file into more than one 
other at the same time. If the sample 
application were to be redesigned, the 
one specific piece of unique data car¬ 
ried by the Issue file, the deadline date, 
could be included in the Article file, 
accepting the redundancy of having the 
date repeated in each article record. 

The deadline date for an issue should 
not change often, and a single com¬ 
mand to replace it with a new date 
throughout the file would be a small 
price to pay for the associated reduc¬ 
tion of programming effort in the arti¬ 
cle data entry and other programs. 

Another problem area was the 
layout of the sample article data entry 
screen. The inaccessibility of data en¬ 
tered by the user on a field-by-field 
basis during full-screen operations until 
the execution of the READ command 
required substantial program logic for 
the look-up of the data from the Author 
data file. The reason for this is that the 
user may change the key (author name) 
used to relate the Article to the Author 
file while entering the article data. This 
ability was desired in order to permit 
the user to change the author name 
being entered if incorrect data were 
retrieved from the related author rec¬ 
ord. In real applications, this arises fre¬ 
quently when a data entry screen uses a 
client or account number to retrieve 


Visual 

COBOL 


Wouldn’t it be exciting if COBOL was 
as visual as it is powerful? 

Good news! mbp has made 
COBOL visual, mbp’s Screen Man¬ 
agement System extends ANSI stan¬ 
dards to help you create professional 
data entry screens and a more visual 
user-machine interface. No other 
COBOL offers you such versatile and 
powerful screen handling capabilities 
for your IBM PC. It can make the dif¬ 
ference between software, and soft¬ 
ware that sells. 

The heart of the mbp Screen 
Management System is an interactive 
mask editor that allows you to “paint 
the screen” with display enhance¬ 
ments. The Screen Generator portion 
of this editor is like a simple lan¬ 
guage transla¬ 
tor. It provides 
a parallel and 
complemen¬ 
tary function 
to mbp 
COBOL. 

The mbp 
Screen Man¬ 
agement Sys¬ 
tem includes 
runtime sup¬ 
port that pro¬ 
vides you with full windowing 
capabilities, complete foreground 
and background color support, and 
both active and passive program- 
controlled video attributes for chang¬ 


ing I/O field definitions in real time. 

The mbp Screen Management 
System is just one component of 
mbp’s very complete COBOL com¬ 
piler package, mbp COBOL also gives 
you high-speed native 8086 machine 
code, ANSI certification, access to 
DOS commands, interactive debug¬ 
ger, SORT & CHAIN, multi-keyed 
ISAM structure, IBM and Novell net¬ 
work support, RM-compatibility and 
much more. 

All these features, plus a power¬ 
ful screen management system, in 
one complete COBOL package. 

To fully appreciate the mbp 
Screen Management System, you 
must try it on your own PC. So, for a 
limited time mbp will give qualified 
users a com¬ 
prehensive 
demonstration 
disk of the 
Screen Man¬ 
agement Sys¬ 
tem, 

absolutely 
FREE. The 
demonstration 
will show you 
images you 
may never 
have seen in COBOL before. To 
receive your free disk, simply mail 
the coupon below or call mbp’s toll- 
free number. 

IBM is a trademark of IBM Corporation. 

RM is a trademark of Ryan-McFarland. 



Contact mbp today, and find out how visual COBOL can be. 

Call 1-800-231-6342 ext. 5186. 

In California, 1-800-346-4848 ext. 5186. mbp COBOL. $900. 

mbp Software and Systems Technology, Inc. 

1131 Harbor Bay Parkway, Suite 260 
Alameda, California 94501 

Please send me more information on mbp’s complete COBOL compiler, and tell me how 1 can receive a 
free COBOL Screen Management System demonstration diskette. 



Name 



Company 

Phone 


Address 



City 

State 

Zip 


MAY 1986 


CIRCLE NO. 172 ON READER SERVICE CARD 


183 
























dBASE ffl PLUS 


TABLE 1: Benchmark Results 


BENCHMARK TASK 

TIME (secs) 

Add 900 records to an empty database table 

45 

Index table on two fields (7 bytes) 

14 

Document and tally codes from one column 

49 

Mass change of one column (28 rows of 900) 

5 

Extract selected records to create a text file 

2 


dBASE hi plus performed extremely well in all tests except the third, where it placed 
at about the median position compared to programs previously reviewed. 


data from another file. The usual prac¬ 
tice is to restrict the data entry process 
from going beyond the field used for 
look-up until the retrieved data are ac¬ 
cepted. This procedure is fine, except 
that the simple format file approach 
provided by dBASE cannot be used. 

The production of labels for 
authors and coauthors having articles in 
an issue was another procedure de¬ 
manding some effort. In this case, how¬ 
ever, the fault lies more with the rela¬ 
tional model than with dBASE. The 
labels were supposed to be created in 
one pass through the section of the 
Article database containing articles for 
the specified issue. The sample applica¬ 
tion design allowed for two names (au¬ 
thor and coauthor) in the Article file for 


each article. The elegant label printing 
feature works well with related files, re¬ 
trieving data from any of the files, but 
the author and the coauthor could not 
both be pointed into the Author file at 
the same time. The Author file could 
have been used to print the labels, 
making it the master file, but this would 
require the Article file to be indexed on 
both authors and coauthors simulta¬ 
neously, an option not available in 
many database managers. 

The sample application database 
design limits the number of authors for 
an article to two, which is a compro¬ 
mise between the maximum number of 
authors anticipated per article and stor¬ 
age space used by the Article file. The 
only real solution to this problem in a 


relational model is to provide an inter¬ 
mediate file of records containing both 
article and author keys. This file estab¬ 
lishes the many-to-many relationship 
needed to handle the fact that an article 
may have several authors, and authors 
may write several articles, but also 
raises several implementation questions. 
Which file is used as the master in the 
relationship, and how is the relation¬ 
ship between articles and authors estab¬ 
lished? This operation cannot be imple¬ 
mented without programming loops or 
using file joins. 

The reports required by the sam¬ 
ple application provided a test of the 
report generator. One report called for 
fairly sophisticated layout of articles by 
issue with section subtotals, totals of 
edit page count and listing page count, 
grand totals, and section headers iden¬ 
tifying issue and volume number. Page 
headers and footers were to include the 
page number, title, time, and date. The 
report writer was able to handle every 
requirement except the one for footers. 

The technique used to specify 
printing the issue volume and number 
in the section header is not obvious 
from the documentation; previous simi¬ 
lar experience with dBASE hi led to its 
discovery. The exact report require¬ 
ments were also programmed using the 
@ row,col ... SAY command and mem¬ 
ory variables to count lines and pages 
and to compare for breakpoints. The 
logic for programming reports is no 
more complex than it would be in any 
other structured language. 

The vast flexibility of methods and 
techniques for retrieval of data made 
short work of the ad hoc queries re¬ 
quired by the sample application. In 
most cases, data could be retrieved in at 
least two ways, one requiring only a 
single command. For example, the que¬ 
ry to determine the number of edito¬ 
rial, listing, and total pages in an issue 
could be produced by the command: 
SUM ALL EDIT_PAGES, UST_PAGES, 
EDIT_PAGES + UST_PAGES 
FOR VOLUME = “3” 

AND. NUMBER = “ 7” 

This requires dBASE to read all records 
in the Article file. 

An alternative that takes advantage 
of the index’s ability to put the Article 
file into issue volume and number se¬ 
quence is to position to the first article 
in the issue, then do the sum until the 
issue number changes, as follows: 

SEEK “3 7” 

SUM EDIT_PAGES, LIST_PAGES, 
EDITJPAGES + LIST_PAGES 
WHILE NUMBER = “ 7” 


Turbo Pascal Programmers: 


IUrbo-Task allows any Hirbo Pascal Program to 
run in Foreground or Background 

Turbo-Task will make your program resident in memory just like Sidekick, but with one big difference: your program can also 
operate in background! Turbo-Task is simple to use and complete in its operation. You only add two lines to your source code. 
Turbo-Task takes responsibility for all multitasking duties. You specify the invoke key that will bring the program to the 
foreground (it will pop up just like Sidekick) and you specify a time-slice weight the program will have when operating in 
background. A non-zero weight will allow the program to continue operation if the user moves it to the background. It will still 
have full access to disk and printer. When it completes its job, (i.e. processing data on disk and printing a report), it has the option 
to reset its weight to zero, thus remaining dormant until the user presses its invoke key and brings it to the foreground again. 
Meanwhile, the user has been running other software undisturbed by this background task. Up to 16 programs can use 
Turbo-Task at the same time, each with its own invoke key, independent foreground window, and time-slice weight. You do not 
need to understand multitasking theory to use Turbo-Task. All the work is done for you. Turbo-Task does not interfere with 
SIDEKICK. Works with TURBO EDITOR and GAMEWORKS. 


Ram-Page provides a Virtual 
Screen of any Size 

Ram-Page takes heap space to create up to 16 pages that can 
be used as virtual screens. The dimensions you select are only 
limited by system memory. 256k of heap could be allocated to 
a single Page with 80 chars by 1600 lines! All of Turbo's text 
handling routines will operate on the Pages. Write, Writeln, 
ClrScr, ClrEol, InsLine, DelLine, Window, and Gotoxy will be 
redirected to work on the Page you specify. View-Page allows 
you to display any portion of a Page on the screen. This "view 
window" is automatically updated as writes are made to the 
Page. These windows can appear, disappear, move, and overlap. 
Text written to a hidden window will be there when the 
overlapping window disappears. Text can be moved between 
pages. Foreground and background attributes are maintained 
separately for each Page. Ram-Page also provides two new 
routines: InsColumn and DelColumn. 


Ikirbo-Linker breaks the 64k 
Code Segment Barrier 

Turbo-Linker performs two important functions: it allows your 
program to grow beyond 64k, and it eliminates the need to 
continually recompile debugged routines. Turbo-Linker will 
convert a set of your procedures into a module that can be 
loaded into the heap at run time. These procedures will operate 
in the heap thus freeing space in the code segment for the 
main program. In effect, it is using the heap for overlays, 
except these "overlay" module can be shared by any number 
of programs. Once you create a module, you never have to 
recompile it. You can maintain a library of modules of your 
frequently used procedures. There is no limit on the number 
of modules that can be loaded or the number of routines in 
any module. A loaded module can be "disposed" and a new 
module loaded in its place. Handles global variables. Allows 
calls between modules. 


All these utilities — ONLY $70 


Tangent! 


180 North Wacker Drive • Suite 350 • Chicago, IL 60606 • (312) 263-0024 
MC/VISA Requires Turbo 3.0 for PC compatibles 

Turbo Pascal, Turbo Editor, Gameworks and SideKick are trademarks of Borland Inti. 


184 


CIRCLE NO. 184 ON READER SERVICE CARD 


PC TECH JOURNAL 




















The ability to use fields from re¬ 
lated data files in the FOR or WHILE 
conditions also made the retrieval of ar¬ 
ticles received after deadline a simple 
matter of comparing the receive date in 
the Article file to the deadline date in 
the linked Issue file. Again, a single 
command or the seek-and-process-while 
technique could be used, as shown in 
the following examples: 

DISPLAY OFF ALL TITLE, DATE_RECD 
FOR VOLUME = “3” 

AND. NUMBER = “ 7” 

.AND. DATEJRECD > ISSUE—> 
DEADLINE 

or: 

SEEK “3 7” 

DISPLAY OFF TITLE, DATE_RECD 
FOR DATE_RECD > ISSUE—> 

DEADLINE 

WHILE NUMBER=“ 7” 

The sample application was a good 
test of many of the features of dBASE hi 
plus, but certainly not beyond any of its 
capabilities or capacities. If the applica¬ 
tion were redesigned with dBASE hi plus 
in mind from the start, it could be eas¬ 
ily implemented using many of the user 
interface features provided by the pack¬ 
age to replace much, but not all, of the 
custom programming. 

BENCHMARKS 

The same five benchmarks were run on 
dBASE hi plus that are run for all data 
managers reviewed in this series—in 
the same controlled PC/AT machine 
configuration. The results are shown in 
table 1. The program performed 
extremely well in all tests except the 
third, where it placed at about the 
median position compared to programs 
previously reviewed. 

When several ways existed to 
implement a benchmark, the method 
appearing to be most efficient was used. 
Tlie appending and indexing operations 
of the first two tests were straight¬ 
forward, using the APPEND FROM and 
INDEX ON commands. 

The index file created on the com¬ 
bined state and zip code fields in 
benchmark 2 placed the file in state 
sequence; this was applied in bench¬ 
mark 3, listing and counting the occur¬ 
rences of unique state codes. A subtle 
trade-off is inherent in this test. The fact 
that the index formula contains an extra 
five bytes for the zip code makes the in¬ 
dex file substantially larger than it 
would be if only the two-character state 
code were indexed. This imposes a 
penalty on retrieval via the index, be¬ 
cause less of the index file can be buf¬ 


fered in the DOS buffers. The trade-off 
is the time needed to create the index 
on the state field alone. In tests run 
using a large RAM disk in a Compaq, 
both approaches were within one sec¬ 
ond (just over one percent) of each 
other. On a hard disk in the same com¬ 
puter, they were about two percent 
apart. If the state-only index file were in 
existence for other reasons, the 41 sec¬ 
onds for benchmark 3 could have been 
reduced by several seconds. 

Another factor affecting this test is 
that it displays information to the 
screen. The screen management func¬ 
tions in dBASE are not as fast as in other 
packages, and the ? print statement 
below slows down the loop. 

DO WHILE .NOT. EOF() 

MSTATE= STATE 
COUNT REST TO STATECOUNT 
WHILE STATE = MSTATE 
? MSTATE, STATECOUNT 
ENDDO 

The fourth test, replacing the 28 
occurrences of the state code CO with 
CL, was tried three different ways—one 
of which illustrates a hidden, but logi¬ 
cal, restriction of dBASE. The most 
straightforward but slowest method is 
to use the command REPLACE ALL 
STATE WITH ’CL’ FOR STATE=’CO’ on 


the unindexed file. This causes dBASE to 
read all records in the data file and up¬ 
sets the synchronization of the asso¬ 
ciated index file. One approach that 
often confuses dBASE programmers is to 
use the index file to seek to the first 
occurrence of state CO and then per¬ 
form the replacement while the state is 
still CO, thus limiting the amount of 
records to be read. The problem is that 
the first replacement of the state field 
with a new value moves the record’s 
logical position in the file, as deter¬ 
mined by the index. The current record 
now contains the value CL, which does 
not equal CO, so the replacement pro¬ 
cess stops before all occurrences are 
found. The third and fastest method is 
to use a loop that will seek and replace 
until all replacements have been accom¬ 
plished, signified by the return of an 
end-of-file condition from the seek. The 
code is as follows: 

DO WHILE T. 

SEEK “CO” 

IF EOF() 

EXIT 

ENDIF 

REPLACE STATE WITH “CL” 

ENDDO 

The fifth benchmark uses the seek- 
and-process-while approach, taking 


Can your IBM-PC do this? 



MUIR PASS and vicinity 

oa seen from azimuth 320 degrees 
elevation 50 degreer 

PL0TW0RKS, Inc. 


It can if you have PLOT88... 

and with PLOT88 , you can do a whole lot more . 

Plotworks offers you PLOT88, a library 
of subroutines to construct grids, con¬ 
tour maps, and three-dimensional mesh 
drawings. In addition, PLOT88 is a 
device-independent, industry-standard 
graphics package which includes PLOT, 

PLOTS, NUMBER, SYMBOL, AXIS, 

SCALE, LINE, FILL, and many 
others. You can output your drawings 
to Hewlett Packard plotters and laser 
jet printers, Houston Instrument plot¬ 


ters, and dot matrix printers. Now your 
mainframe graphics programs can run 
on your IBM-PC, PC/XT, or PC/AT at 
your convenience and at a fraction of 
the cost. 

PLOTWORKS, Inc. 

Dept. J-l, P.O. Box 12385 
La Jolla, CA 92037-0635 
(619) 457-5090 

“Toolmakers for the Information Age ” 


MAY 1986 


CIRCLE NO. 154 ON READER SERVICE CARD 


185 












DeSmet 

C 

8086/8088 

Development $|(1Q 
Package IU9 

FULL DEVELOPMENT PACKAGE 

• Full K&R C Compiler 

■ Assembler, Linker & Librarian 

■ Full-Screen Editor 

• Execution Profiler 

■ Complete STDIO Library (>120 Func) 

Automatic DOS 1.X/2.X SUPPORT 

BOTH 8087 AND S/W FLOATING POINT 

OVERLAYS 

OUTSTANDING PERFORMANCE 

■ First and Second in AUG '83 BYTE 
benchmarks 

SYMBOLIC DEBUGGER $50 


• Examine & change variables by 
name using C expressions 

- Flip between debug and display 
screen 

■ Display C source during execution 

■ Set multiple breakpoints by function 
or line number 


DOS LINK SUPPORT $ 35 


■ Uses DOS .OBJ Format 
• LINKS with DOS ASM 

■ Uses Lattice® naming conventions 


Check: □ Dev. Pkg (109) 

□ Debugger(50) 

□ DOS Link Supt (35) 

SHIP TO:_ 


ZIP. 



WARE 

CORPORATION 


P.O. BOX C 
Sunnyvale, CA 94087 
(408) 720-9696 

All orders shipped UPS surface on IBM format disks. 
Shipping included in price. California residents add 
sales tax. Canada shipping add $5, elsewhere add 
$15. Checks must be on US Bank and in US Dollars. 
Call 9 a.m. - 1 p.m. to CHARGE by VISA/MC/AMEX. 


dBASE ffl PLUS 

advantage of the existing state/zip index. 
The commands are: 

SEEK “CA” 

COPY REST TO CAUTHOR 
WHILE STATE = “CA” DELIMITED 

Because the state field is not changed 
by the COPY command, the WHILE 
clause stops the copy as soon as the last 
CA record is processed. 

EVOLUTIONARY ADVANCEMENT 

Ashton-Tate has succeeded in producing 
a substantial, but evolutionary advance¬ 
ment to the dBASE product line. Users 
familiar with dBASE m will enjoy the 
increased performance and enhanced 
features in dBASE hi plus, and developers 
of custom applications will appreciate 
much of the new user interface. dBASE 
hi plus handles a wide variety of appli¬ 
cations, but the lack of a compiler may 
adversely affect the performance in 
large, multiuser systems. 

The attributes of a relational data¬ 
base manager are present in dBASE hi 
plus, but substantial user understanding 
of data relationships and the relational 
model is required before useful multi¬ 
file relational databases can be con¬ 
structed and implemented. The index¬ 
ing, filtering, and command syntax 
features provide substantial power to 
manipulate and manage data; many ad 
hoc operations that are cumbersome in 
dBASE hi and other programs are simple 
in dBASE hi plus. The assistant interface 
captures a significant portion of this 
power in the interactive mode, and its 
system of pull-down menus and pop-up 
field and file lists is easy and powerful. 

Developers can produce applica¬ 
tions quickly and easily if the user inter¬ 
face features are employed. Otherwise, 
all communications between the appli¬ 
cations program and the user must be 
tediously coded at a low level in the 
dBASE language. dBASE hi plus provides 
automatic record locking for multiuser 
applications in which the default user 
interface is applied, but any sophisti¬ 
cated screen handling requires pro¬ 
gramming of the file and record lock¬ 
ing. Very few, if any, multiuser applica¬ 
tions can be implemented without pro¬ 
gramming the locking functions. 

Two significant drawbacks to the 
dBASE hi plus database structure are the 
inability to relate one file directly into 
more than one other file and the limit 
of 20 simultaneous open files, including 
those reserved by DOS. The develop¬ 
ment of complex applications in dBASE 
hi plus requires attention to detail in the 
design of the data files, index formulas, 
and relationship structure. 



Perfect Windows, 
Powerful Data Entry, 
FULLY Integrated . 

For Effortless 
Data Entry Windows! 

• Complete input formatting 

• Unlimited Validation 

• Full attribute control 

• Field sensitive application help system 

• Multiple virtual windows 

• Fully automatic, collision proof overlay 
and restore 

• Print to & scroll background windows 

• Animated window "zoom" 

• Move, grow, shrink, hide, or show 
any window 

• "Loop function" allows processing 
while awaiting input 

and much much more! 

Designed to increase your productivity 
and help you produce superior applica¬ 
tions in dramatically less time! Includes 
100% source, tutorial, reference manual, 
examples, and sample programs. 

Specify Microsoft, 

Lattice, Computer HI *1 O • ^ 5 

Innovations, Aztec, ^ 

or Mark Williams. Ask about Unix. 


NOW... VCScreen ! 

Our new interactive screen "painter" 
actually lets you draw your data entry 
windows! Define fields, text, boxes & 
borders. Move them around. Change 
attributes. Then the touch of a button 
generates C source code calls to the 
Vitamin C routines! Now, your screen 
designs will be faster and more pleasing 
when they are created with VCScreen! 

Requires Vitamin C lib- $ 99.95 

rary above. For IBM & compatibles. 

For Orders Or Information, 

(214)245-6090 

Creative Programming Consultants 

Box 112097 Carrollton, TX 75011-2097 
Include $3 ground, $6 air, $15 overnight 
shipping, $25 if outside USA. Texans add 
6% tax. All funds must be in U.S. dollars 
drawn on a U.S. bank. 


186 


PC TECH JOURNAL 






















dBASE UI PLUS 


The performance of cIbase iii plus in 
multiuser network applications is yet to 
be determined. Several factors will in¬ 
fluence its effectiveness in the LAN envi¬ 
ronment. Whether the user interface is 
sufficiently flexible to support multiuser 
applications remains to be seen. The 
lack of a compiler requires careful at¬ 
tention to program efficiency, and 
memory variable manipulation speed 
has not displayed the spectacular in¬ 
crease enjoyed by the indexing opera¬ 
tions. dBASE hi plus has no significant 
movement of data processing opera¬ 
tions from the LAN node to the server 
in multiuser operations, and several 
users with a few filtered, linked, and 
indexed files will place a substantial 
amount of traffic on the network. 

This problem is not specific to 
dBASE; most multiuser data managers 
keep all of the intelligence at the node, 
employing the server simply as a traffic 
cop. What is needed is an intelligent da¬ 
tabase server program, designed to un¬ 
derstand the user’s database view as de¬ 
fined by the open data files, index files, 
relationship formulas, and filter condi¬ 
tions. This view would specify a next 
record, which may be several hundred 
away from the current position. If the 
server were to search out that next rec¬ 
ord before sending it to the node, 
much network traffic could be elimi¬ 
nated. The node processor could then 
do what it does best—manage the user 
interface to the data supplied by the 
server. 

Techniques to improve perform¬ 
ance may be explored in the area of lo¬ 
cating some files at the local user node. 
Subprograms called within loops may 
be stored on a RAM disk or local hard 
disk to reduce the frequency of their 
retrieval over the network. When data 
files are used for reports and exclusive 
use is required, ad hoc index files can 
be created locally to reduce network 
traffic during both the index building 
and data retrieval processes. 

The most important attributes of 
dBASE hi plus may be the flexibility and 
power of the command language and 
the power of the index file formula. Al¬ 
most any data manipulation problem 
can be solved in a variety of efficient 
ways. dBASE in plus is especially well 
suited to unusual applications requiring 
unique solutions. I 1111 —! 


Dave Browning is vice president and co¬ 
owner of WBS and Associates, Inc., a micro¬ 
computer and custom database consulting 
firm in Annandale, VA He is chairman of 
the database special interest group for the 
Capital PC User Group. 


Learn and Use AI Technology 
In Your First Evening 
With PROLOG-86 



A complete Prolog Interpreter , Tutorial, and set of Sample Programs: 


□ Modify and write Expert Systems. 

Use the simple “Guess the animal” 
example on the Tutorial or use the 
sophisticated system for Section 318 of 
the US Tax Code written by one of the 
PROLOG-86 authors and published 
in the March, 1985 issue of Dr. Dobb’s 
Journal. 


□ Write Symbolic Math or Abstract 
Problem Solving Applications 

This is a complete Prolog program to 
convert from Farenheit to Centigrade: 
f_to_c(C,F):- C is(F-32) *5/9. Planning 
programs and games are included to 
help you learn. 


□ BECOME FAMILIAR WITH 
PROLOG IN ONE EVENING. 


□ Understand Natural Language 

Use the sample program that produces 
a dBase DISPLAY command as output. 

Programming experience is not required, but a logical mind is. 

Prolog-86 Plus for $250 adds: Windowing, 8087, 640K memory access, random access 
files, strings support and definate clause grammar. 

RECENT IMPROVEMENTS: Floating point support, MSDOS commands, on-line 
help, load Editor. 

AVAILABILITY: All MSDOS, PCDOS systems. 



Solution 

yst©ms T 


335- P Washington St. 
Norwell, Mass. 02061 
617-659-1571 
800-821-2492 


CIRCLE NO. 126 ON READER SERVICE CARD 


LEARN LISP 

Interactively and Write Real Programs 
with TransLISP for Only $75 

A “COMMON LISP” compatible Tutorial, Interpreter, Debugging, and 
Pretty Printer plus a Fast, Full Screen Editor, Samples and Help 

□ Start Easily and Quickly: 

A complete, modular tutorial helps you 
learn LISP at your own pace. An in¬ 
tegrated, interactive environment provides 
all of the elements needed to enter, modify, 
analyze and debug programs. 

□ Natural Language, Expert Systems and 
Mailing List: 

Natural Language concepts are illustrated 
by a phone number retrieval program. 

Choose the best word processing program 
for you with the Expert System. File handl¬ 
ing and typical data processing work are 
demonstrated by a Mailing List program. 


□ Write Realistic Programs: 

Short examples and substantial programs of 
about 10 pages in length help you learn by 
modifying, studying and using the key con¬ 
cepts needed to write programs of 1000 
lines or more. 

□ The “COMMON LISP’’ Standard: 

TransLISP includes a 230+ function 
subset of the “COMMON LISP’’ Standard. 
Use extras like the MSDOS interface and 
graphics. Or use “strict compatibility” to 
make programs written in TransLISP, 
with no changes, work with other COM¬ 
MON LISP systems like VAX LISP, 
GC/LISP or LISP Machine LISP. 

Recent Improvements: 640K Memory use supports 12000 line programs. 

Full 8087 and 8086 floating point included. 

Runs on any MS/PCDOS System with 192K. It is not copy protected. 

‘The best LISP I’ve ever used. Three times before, I tried to learn LISP, but until now I could 
never break through the surface.” w.L. Whipple, customer 

ONLY 

$75 -Solution 
Systems ™ 



'wy c 7'r 


335-P Washington St. 
Norwell, Mass. 02061 
617-659-1571 
800-821-2492 


CIRCLE NO. 129 ON READER SERVICE CARD 


MAY 1986 


187 










dBASE ffl PLUS 


LISTING 1: AUTHLBL.PRG 

♦AUTHLBL.PRG - Program to print labels for all authors who have 

* articles in a given issue, suppressing duplicates. 

* establish environment 

SET TALK OFF && don't echo status changes to screen 

SET SAFETY OFF && overwrite temp files, don't ask user if ok 

SET PRINT OFF && make sure printer is off 

SET UNIQUE OFF && index creation allows duplicate entries 

MVOL=0 && preset memory variables: volume and number 

MNUM=0 

DO WHILE .T. && loop here if unknown issue or user wants to repeat 

CLEAR && clear screen, get volume, number from user 

a 10,10 SAY "Enter Volume and Number for labels (0,0 to quit):" 
a 12,20 SAY "Volume" GET MVOL PICTURE "9" 
a 12,COL()+4 SAY "Number" GET HNUM PICTURE "99" 

READ && collect the data from the GETs 

IF MVOL+MNUM=0 && user entered zeros to quit 

EXIT 
ENDIF 

a 15,10 SAY "Sorting the author names and culling duplicates." 

SELECT 1 && display comfort message; open article file 

USE ARTICLE INDEX ARTICLE && index is volume and number 

SEEK STR(MV0L,1,0)+STR(MNUM,2,0) && position to start of issue 

IF .NOT. FOUNDO && no such issue, get another 

a 15,10 SAY "Cannot find issue. Please reenter volume and number." 
WAIT && pause for read of message 

LOOP 
ENDIF 

* Copy the primary author names to tempi.dbf (this is very fast 

* because the SEEK got us to first record immediately, and the 

* COPY will stop as soon as the issue number changes. 

COPY TO TEMPI REST FIELDS AUTH0R_LN, AUTHOR_FN WHILE MNUM=NUMBER 


SEEK STR(MV0L,1,0)+STR(MNUM,2,0) && Position to start of issue 

* Now get the coauthors (if any) to temp2. Use delimited format 

* so we can append names to tempi without conflict in field names 
COPY TO TEMP2 REST FIELDS C0AUTH0RLN, C0AUTH0RFN WHILE MNUM=NUMBER ; 

FOR LEN(TRIM(C0AUTH0RLN+C0AUTH0RFN)) > 0 DELIMITED 

* Get all the authors together by appending the coauthors to tempi. 

USE TEMPI && open tempi in work area 1 

APPEND FROM TEMP2 DELIMITED && add in the coauthors 

* Create a unique index. This will eliminate duplicate labels. 

INDEX ON UPPER(AUTHOR_LN+AUTHOR_FN) TO TEMPI UNIQUE 

SELECT 2 && open the author file in work area 2 

USE AUTHOR INDEX AUTHOR && key is uppercase last+first name 

SELECT 1 && set relationship into author file key 

SET RELATION TO UPPER(AUTH0R_LN+AUTH0R_FN) INTO AUTHOR 

* Now print the labels. The parameter "SAMPLE" prints labels of 

* asterisks for alignment. The label generation form looks up 

* all data (author name and address) from the author file. The 

* tempi file of uppercase names simply selects and points to the 

* appropriate author record for the label. Label form contents are: 

* Line 1: author*>AUTHOR_FN, author->AUTH0R_LN 

* Line 2: author->ADDRESS 

* Line 3: TRIM(author->CITY) + ",«, author->STATE, author->ZIP 

* dBASE III PLUS automatically suppresses blank lines within a label 

* and formats to the number of lines on the specified label size. 

* A comma between fields on a label line causes dBASE to trim the 

* first field of trailing blanks and insert one blank between fields. 

* A sample label: 

* John Brown 

* 3559 South 24 St. 

* Stanleyford, IN 76828 

* 

LABEL FORM ARTLABEL SAMPLE TO PRINT 

ENDD0 && back for another issue. 

CLOSE DATA 
RETURN 


All of a Sudden ... 


dBASE Comes ALIVE with db SCOPE 

NEW.. .Instant Editor: The Programmer’s 
SideKick 

►Multiple files, windows, undo N times, fast 
►Pop up anytime, anywhere, instantly! 

►On-line reformat, flawless source code always 
►Short hand typing to increase productivity 
►On-screen highlight punctuation for easy reading 
►Keyboard macros, and more... 

►A wonderful add-on to your editor and SideKick 


( 818 ) 304-0312 

2156 E. Colorado Blvd., Suite 110 

Pasadena, California 91107 dBASE is a trademark of Ashton-Tate. SidedKick TM of Borland, Int. 


dbTOOLS saves time and 
improves documentation 


Debug faster: Wildcard pattern and multi-file vari¬ 
able xref. Interactive view of PRG with reduced com¬ 
plexity. Eliminates unpaired structure errors. Applica¬ 
tion flow analyzer. PRG size reduction and speed up. 

Better documentation: Automatic hierarchical 
chart of entire application. PRG beautifier, pretty 
printer and a lot more. Designed by dBASE profes¬ 
sionals for dBASE professionals. Compatible with 
dBASE Plus and Compilers. 


► REAL TIME ACTION: watch each line of your source code 

run in real time. Know exactly how 
a program works and why it doesn’t 
work. 

► INSTANT FEEDBACK: observe precisely the impact of 

every source code as it happens. 
Catch every detail so you don’t 
miss a thing. 

► COMPLETE CONTROL: single step, slow motion, status, 

at anytime and anywhere without 
interrupting screen. 

A giant leap for anyone who tries to learn dBASE programming 
and a must for every dBASE programmer. 



dbSCOPE . $69 + $5 S&h 

dbTOOLS . $69 + $5 S&h 

InstantEditor .... $69 + $5 s&h 

30 days money back guarantee. Never copy pro 
tected. 

Reg. IBM PC, AT or 100% compatibles with DO! 
2.0 or above. Check or COD. Calif, resident pleas 
add 6.5% sales tax. 


COMTEL 


188 


CIRCLE NO. 102 ON READER SERVICE CARD 


PC TECH JOURNAL 
























ONLY SEATTLE TELECOIt 
solves the expanded memory and 
speed problems of the IBM PC/XT. 


• 2 MB EMS memory • Supports both 8 and 16 bit 





• Fully compatible with 
the Industry-standard 
Lotus/Intel/Microsoft 
(LIM) Expanded 
Memory Specifica¬ 
tion (EMS), version 3.2 

• Expandable up to 8 
megabytes. 

• Compatible with all 
major productivity 
software such as Lotus 
1-2-3, Symphony, 
Framework II. 



Top Board processes EMS- 
applicationsuptothreetimesfaster 
than any other EMS board on the 
IBM PC XT. TopBoardistheonlyEMS 
expanded memory board with 
both an 8 and 16 bit data bus and 
can fu nction across the 16 bit wide 
bus with the STD-powered PC-286 
card. 

Top Board frees you from the 
memory limits of 640K. Expand 
memory up to 2 MB with the confi¬ 
dence of LIM-compatible stand¬ 
ards. Unleash this full potential with 
processor speeds up to 12 MHz 
when used with our PC-286 board 


across the bu i It-i a 16 bit d ata bus to 
the Top Board. 

Expect performance that 
exceeds industry standards. To¬ 
gether, the PC-286 and Top Board 
perform beyond their individual 
state-of-the-art designs. Your CAD, 
spreadsheet, database or other 
softwaredesignedtoutilizetheEMS 
specification will run up to 8 times 
faster than an IBM PC XT with this 
product combination. 

The Top Board is fully compa¬ 
tible with the Lotus/Intel/Microsoft 
Expanded Memory Specification. 
It's unique design has an efficient 


and flexible paging scheme for 
even greater performance with 
EMS-compatible applications and 
multitasking software. 

For the performance you and 
your PC have been waiting for, 
order a Top Board today. Solveyour 
PC's problems with processing¬ 
intensive applications and improve 
your own personal productivity. 

CALL (206) 883-8440 



SEATTLE TELECOM 
& DATA, INC. 

2637 151st PI. N.E. 
Redmond, WA 98052 


Top Board and PC-286 are trademarks of STD. Framework is a trademark of Ashton-Tate. 

Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corporation. IBM PC XT is a trademark of IBM Corp. 
Contact us regarding optional EGA graphics and multifunction daugther boards. 

CIRCLE NO. 124 ON READER SERVICE CARD 











































MICROWAY’S 8087 RUNS 1-2-3~! 


MicroWay is the world's leading retail¬ 
er of 8087s and high performance PC 
upgrades. We stock a complete selec¬ 
tion of8087s that run at 5 and 8mhz. All 
of ourcoprocessors are shipped with a 
diagnostic disk and the best warranty 
in the business - one year! We also 
offer daughterboards for socketless 
computers (NEC PC) and 287Turbo 
which increases the clock speed ofthe 
80287 from 4 to 8 mhz. Our NUMBER 
SMASHER™ includes 640K ram. It will 
run the IBM PC at clock speeds up to 
10mhz and achieves a throughput of .1 
megaflops with 87 BASIC/IN LINE, Intel 



Fortran, or Microsoft Fortran. Software 
reviewers consistently cite MicroWay 
software and 8087 expertise as the 
best in the industry! Ourcustomersfre- 
quently write to thank us for recom¬ 
mending the correct software and 
hardware to meet their specific needs 
They also thank us for our same day 
shipping! In addition to our own pro¬ 
ducts which support the 8087 and 
80287, we stock the largest supply of 
specialized software available For in¬ 
formation call us at 

617-746-7341 


Micro 
Way 


FASTBREAK™ employsthe8087toin- 
crease the speed of Lotus 1 -2-3™ Ver¬ 
sion 1A or 1 A* by up to 36 to 1 $79 
FASTPAK™ includes FASTBREAK soft¬ 
ware and a 5mhz 8087.$179 

87SFL™ Microway’s Scientific Func¬ 
tion Library contains 170 scientific and 
engineering functions Callable from 
most 8087 compatible compilers First 
Language $250; Additional $100 
A2D-160™ Microway’s Data Acquisi¬ 
tion Board performs 160,000 12 bit 
Analog to Digital conversions per 
second! Includes software drivers The 
fastest 12 bit A to D board available 
For the IBM PC or XT. . $1295 


SPEED UP YOUR AT 
OR AT COMPATIBLE 
WITH 287TURBO” - 8mhz 


8087Support 

For the IBM PC, PC XT, PC AT and Compatibles. 


NUMBER SMASHER™ The World’s Fast¬ 
est Accelerator Card for the IBM PC, XT, and Com¬ 
patibles! Includes an 8086 and 8087 pair tested 
to lOmhz, and 640K bytes of high speed ram. 
Compatible with all software, operating systems 
and hardware! Your program speed is increased 
by a factor of 2.5 to 4.0. Floating point programs 
run up to 2.8 times faster on the PC than on an 
80287 equipped PC AT. One of the few accelera¬ 
tors on the market which is compatible with all 
EMS cards Includes FASTBREAK.$1099 

87/88Turbo™ is a stubby card wh ich includes 
a clock calendar and a speed controller which 
changes the speed of your motherboard from 4.77 
to 7.4mhz. Its use requires your PC to have a soc¬ 
keted 8224. Typical speed increase is 1.6. Some 
programs run up to 2.5 times faster. The card over¬ 
comes the problem of slow hardware by slowing 
up only when slow devices are accessed and 
running at full speed otherwise. It includes an 
8087-2 . $350 

286TurboCache" This new MicroWay ac¬ 
celerator uses 8K of cache memory and 80286/ 
80287 processors to provide an average speed 
increase of 3 to 1 for most programs Call for 
specifications, benchmarks and price. 

MATRIXPAK™ manages a MEGABYTE! 

Written in assembly language, our runtime pac¬ 
kage accurately manipulates large matrices at 
very fast speeds Includes matrix inversion and 
the solution of simultaneous linear equations 
Callable from RM or MS Fortran, MS Assembler, or 
87 BASIC/IN LINE.each $99 

87FFT™ Written in assembly language, per¬ 
forms Forward and Inverse FFTs on real and com¬ 
plex arrays which occupy up to 512K bytes of 
RAM. Also does convolutions, auto correlations, 
hamming complex vector multiplication, and com¬ 
plex to radial conversions. Callable from most 
8087 compatible compilers. $200 

87FFT-2™ performs two-dimensional FFTs 
Ideal for image processing Requires 87FFT $100 


Micro 

Way 


P.O. Box 79 
Kingston. Mass 
02364 USA 
(617) 746-7341 


je Our IntehLotus specification 
memory card. The only EMS board which comes 
with two megabytes of cool-running low power 
drain CMOS ram installed. Includes ram disk, print 
spooler, disk cache, and EMS drivers For the IBM 
PC, XT, AT and compatibles.$549 

DFixer™ Our disk utility which thoroughly 
checks PC or AT hard disks for bad sectors and 
updates the MS DOS file allocation table accord¬ 
ingly. Solves the AT hard disk problem! ... $149 

DOptimizer™ Optimizes the way your hard 
disk or floppy stores its files Speeds up accesses 
by recombining fragmented files.$49 

DCache™ Our disk caching software speeds 
up your I/O by storing repetitively used tracks in 
memory. The amount of memory used can be 
selected in 64K byte banks.$49 

87 Verify™ For users who have to be absolutely 
sure of their results! This background task periodic¬ 
ally performs an 8087 accuracy and stress test$49 

87 MACRO/DEBUG™ Contains all the 
pieces needed for writing 8087/80287 assembly 
code including 8087 macros, object libraries for 
commonly used functions, including transcen¬ 
dental trigonometries, conversions and Micro- 
Way’s debugger- 87DEBUG.$199 

OBJ-ASM™ ' A multipass object module trans¬ 
lator and disassembler. Produces assembly lan¬ 
guage listings which include public symbols, ex¬ 
ternal symbols and labels commented with cross 
references. Ideal for patching object modules for 
which source is not available.$200 

87 BASIC™ includes patches to the IBM Basic 
or MS Quick Basic Compiler for USER TRANS¬ 
PARENT 8087 support Provides super fast per¬ 
formance for all numeric operations including trig¬ 
onometries, transcendentals, addition, subtrac¬ 
tion, multiplication, and division.each $150 

87 BASIC/1N LI N E™ converts the output of 
the IBM Basic Compiler into optimized 8087 
inline code which executes up to seven times fas¬ 
ter than 87 BASIC. Supports separately compiled 
inline subroutines which are located in their own 
segments and can contain up to 64K bytes of 
code. This allows programs greater than 128K! 

• Requires the IBM Basic Compiler Version 1 and 
Macro Assembler. Includes 87BASIC $200 

MICROWAY UDI runs RTOS or RMX com- 
pilers under DOS.$300 


8087 UPGRADES 

All MicroWay 8087s include a one year warranty, 
complete MicroWay Test Program and accurate 
Installation Instructions 

8087 5mhz.$109 

For the IBM PC, XT and compatibles 

8087-2 8mhz.$149 

For Wang AT&T, DeskPro, NEC, Leading Edge. 

80287-3 5mhz $179 

For the IBM PC, AT and 286 compatibles 

80287-8 8mhz $295 

For the Tandy 3000 and ITT-XP. 

287TurbO 8 mhz If you own an AT, 

Deskpro 286 or AT compatible, this is the card you 
need to get reasonable numeric performance It 
plugs into your 80287 socket and includes a spe¬ 
cially driven 8mhz80287. The card comes in three 
configurations The IBM AT version includes a 
hardware RESET button.$395 

NEC V20, V30. call 

64K RAM Set 150ns .$10 

256K RAM Set 150ns .$34 

128K RAM Set PC AT..$49 

JRAM, AST, INTEL call 

DCache plus 64K ABOVE BOARD PS.375 

DCache plus 128K AT ABOVE BOARD.475 

Microsoft Fortran Version 3.31.209 

IBM Professional Fortran.565 

Ryan-McFarland Fortran Version 2.0.399 

FORLIB+ or STRINGS and THINGS.65 

Grafmatic for Fortran or Pascal.125 

Plotmatic.125 

NAG Fortran Library.300 

Lattice C.269 

Microsoft C or QuickBasic.CALL 

IBM Basic Compiler Version 2.0.465 

Summit BetterBASIC™.CALL 

IBM Assembler w/Librarian Version 2.0.155 

Microsoft Assembler Version 3.01 .99 

Microsoft Pascal Version 3.31.199 

STSC APL* PLUS/PC.450 

Phoenix Plink86 or Cosmos Revelation... CALL 

SPSS/PC+.595 

EPSILON Text Editor.195 

LABTECH NOTEBOOK.745 

MultiHalo (one language).189 

Fifth Generation FASTBACK.150 


CIRCLE 169 ON READER SERVICE CARD 



























































PROGRAMMING PRACTICES 


JON FORREST 


Matching Regular Expressions 

Regular expressions combine simple syntax 
and surprising expressive power. 



T he technique of regular expression 
pattern matching is considered quite 
useful in standard UNIX text handling 
programs, such as ED, LEX, and GREP. 
However, most DOS programs handle 
text processing using some ad hoc tech¬ 
nique. The basic problem involved with 
text pattern matching is to detect and 
locate a particular substring within a 
given string. A simple example would 
be to find all occurrences of the word 
title within the string call vprts (title, 
nc,ncall). Ad hoc techniques are ade¬ 
quate in an instance such as this. They 
also can be used for other simple oper¬ 
ations, such as finding wild-card strings. 

Consider, however, a more compli¬ 
cated situation involving pattern match¬ 
ing: searching a given text for the word 
title each time that it appears in lower¬ 
case letters and within parentheses. The 
programming task is manageable, but 
finding the desired pattern in any but 
the simplest of contexts would require 
a significant amount of work. 

For complicated pattern matches, 
the regular expression syntax technique 
below is the answer. It is simple to pro¬ 
gram and can specify 99 percent of the 
strings a user might want to find. This 
implementation uses UNIX syntax. The 
listings that accompany the article are 
written in Turbo Pascal. 

REGULAR EXPRESSIONS 

A regular expression is a string of nor¬ 
mal ASCII characters. It is used to 
search a text for every occurrence of a 
particular string. The simplest example 
of a regular expression is a single char¬ 
acter; the regular expression z finds the 
string z wherever it occurs in the text 
being searched. Similarly, the regular 
expression cat finds the string cat 
wherever it occurs. Note that the regu¬ 
lar expression cat is actually the conca¬ 
tenation of three smaller regular ex¬ 
pressions: c, a , and t. Table 1 lists ex¬ 
amples of regular expressions along 
with the meaning of each. 


Because the DOS wild-card syntax 
for an unspecified character is ?, the 
search pattern Pat finds cat , bat , hat , 
and fat. The question mark cannot be 
used for this purpose in a regular ex¬ 
pression; the period is used instead 
(at). This search pattern matches not 
only the desired strings, but also any 
string within the text that contains a 
character followed by a lowercase at. 

The case of a character is signifi¬ 
cant in regular expressions. The charac¬ 
ter class syntax, however, is available to 
perform case-insensitive searches. To 
specify a string that begins with b and 
ends with at , the class construct [Bb]at 
can be used. This finds both Bat and 
bat. Similarly, [Pp][Hh][Dd] matches PhD 
in any combination of upper- and 
lowercase characters. 

The class syntax is useful in other 
situations. Because a character class is a 
set of characters, any one of which is 
accepted as a match, the class [aeiou] 
matches any lowercase vowel. A dash 
shorthand is available for sequential 
ranges of ASCII values. Thus, the regu¬ 
lar expression [a-z]at matches aat, bat , 
cat , dat , and so on. The regular expres¬ 
sion NUM[0-3] matches four strings: 
NUMO, NUM1 , NUM2 , and NUM3. 

A useful extension to the character 
class is the negative character class—an 
expression that matches all characters 


except those included in the class. A 
negative character class is designated by 
a caret Q inserted immediately follow¬ 
ing the left square bracket of the ex¬ 
pression. For example, rAaBbCcDd] 
matches all characters except the first 
four letters of the alphabet. The caret is 
not considered a member of the class. 
With the exception of A and -, all special 
characters are interpreted as literal 
characters when they are enclosed in 
square brackets. 

One of the most powerful features 
of regular expressions is closure. A clo¬ 
sure of a character can be used to pat¬ 
tern match zero or more occurrences 
of the specified character pattern. This 
feature is indicated by an asterisk (*) 
placed immediately after the designated 
character pattern. For example, :xr* 
matches any successive occurrences of 
x, as well as the situation in which no 
occurrences of x are found. Similarly, 
[0-9F matches successive occurrences 
of numeric characters or the absence of 
any numeric characters. 

Closure can be used, for example, 
by an author who writes a story in 
which the number of os in the word 
good is increased to indicate a corre¬ 
sponding increase in the degree of 
pleasure, as in good, goood, and 
gooood. If the author later wants to 
change these words, he can use the reg- 


MAY1986 


191 


ILLUSTRATION • MACIEK ALBRECHT 












PROGRAMMING PRACTICES 


ular expression pattern matching tech¬ 
nique to speed the substitution process. 
The closure capability is useful here be¬ 
cause the regular expression go*d 
matches all the various occurrences of 
good within the text. It even can find 
the word spelled without an o (gd). 

A closure matches as many charac¬ 
ters as it can find; the o* regular ex¬ 
pression in the above example matches 
all five os in goooood. 

Two more special characters, the 
caret and the dollar sign, indicate pat¬ 
terns that occur at the beginning or the 
end of a line. The meaning of A within a 
character class was described above. 
When used outside of a character class, 
it specifies the beginning of line. Thus, 
the regular expression C matches C 
when it is the first character of a line. $ 
is the corresponding end-of-line charac¬ 
ter. The expression can be used to 
search for blank lines. Note that A and $ 
retain their special meaning only when 
included at the beginning or end of a 
regular expression pattern. 

To be complete, a pattern matching 
scheme must allow a search for any 
character, even a character used as a 
code by the scheme itself. The regular 
expression syntax uses the slash to dis¬ 
tinguish literal from special characters. 


For example, an asterisk can be speci¬ 
fied for a search by preceding it with a 
slash.(The expression // specifies the 
slash character itself.) 

The features described here do not 
constitute a full implementation of reg¬ 
ular expression pattern matching. None¬ 
theless, they allow the user to perform 
a great variety of searches. The se¬ 
quence (.*) can be used to find charac¬ 
ters enclosed in parentheses; zzzz* 
matches three or more lowercase zs; 
afamWcrc]* matches any line in 
which a , b , and t appear in alphabetical 
order. The regular expression syntax 
can be especially usefiil with program¬ 
ming languages. The regular expression 
( *[Vv][Aa][Rr]. *), for example, matches 
any line in a Pascal program that de¬ 
clares a varying parameter. 

A PATTERN MATCHING PROGRAM 

Like the DOS FIND program, REGU- 
LAR.PAS (see listing 1) is implemented 
as a filter. For example, to print all the 
varying parameter declarations in a 
Pascal program called T.PAS, type: 

TYPE T.PAS I REGULAR (.*[Vv][Aa][Rr].*) 

The INOUT.PAS include file (see 
listing 2) contains the piped I/O proce¬ 
dures of the program. Taken from 


Brand New From Peter Norton 
A PROGRAMMER’S EDITOR 





that’s lightning fast with the hot 
features programmers need 


Direct from the 
man who gave you 
The Norton Utilities, 
Inside the IBM PC, 
and the Peter Norton 
Programmer's Guide. 


INORTON 

EDITOR 


U This is the program¬ 
mer’s editor that I wished 
I’d had when I wrote my 
Norton Utilities. You can 
program your way to 
glory with The Norton 
Editor.” 




Peter Norton, 2210 Wilshire Blvd., #186 
Santa Monica, CA 90403,213-826-8032 
Visa, MasterCard and phone orders welcome 


Easily customized, and sav< 
Split-screen editing 

A wonderful condensed/outline display 
Great for assembler, Pascal and C 


CIRCLE NO. 150 ON READER SERVICE CARD 


ADDREC.PAS (see “Filters and Finite 
Machines,” Larry W. Loen, February 
1986, p. 181), these procedures access 
the DOS functions 3FH and 40H. Piped 
I/O allows multiple filter invocations on 
a single input stream. The command 

TYPE T.PAS I REGULAR (.*[Vv][Aa][RrJ.*) I 
REGULAR count 

(which must be typed on a single line) 
selects all lines that declare a varying 
parameter and contain the lowercase 
variable name count. However, piped 
I/O has a disadvantage: regular expres¬ 
sions cannot contain the characters <, 

>, or I because DOS interprets them as 
piping or redirection commands. 

REGULAR. PAS is based on the text 
matching program described in Ker- 
nighan and Plauger’s book, Software 
Tools in Pascal (Addison-Wesley, 1981). 
Because of the complexity of the pat¬ 
tern matching problem, Kernighan and 
Plauger break the program into two 
parts. First, a regular expression is con¬ 
verted into a convenient internal form. 
Next, the internal form is matched 
against the input line. If a regular ex¬ 
pression is considered a program, part 

1 compiles it into pseudocode, and part 

2 interprets the pseudocode. 

The encoding step is performed by 
the routines in COMPILE.PAS (see list¬ 
ing 3). MAKEPAT, along with its subsid¬ 
iary routines, constructs the internal 
representation; it loops through the 
characters of the input string (named 
ARG in listing 3) inserting the necessary 
characters into the encoded string 
(named PAT in listing 3). Table 2 lists 
several regular expressions and the en¬ 
coded form of each. 

The character LITCHAR (indicated 
by the at sign) is used in the internal 
form to distinguish between characters 
that have special meaning in regular ex¬ 
pressions, such as ., [, and *, and stan¬ 
dard characters, such as a and 4 . The 
internal form of a is @a. In the string 
PAT in listing 3, * specifies the closure 
operator, and @* is used to specify the 
asterisk itself. 

Character class syntax is changed 
only slightly in the encoding process. 
The class [abc] becomes [3abc when 
converted to internal form. The 3 in 
this example is not the ASCII value for 
3, but the hex value. It indicates the 
number of characters in the class. 

Negative character classes are trans¬ 
formed in a similar manner, but the 
prefix character is the excalmation 
point. For example, the regular expres¬ 
sion meaning any character but a, b, or 
c is typed /*$ abc] and encoded !3abc. 


192 


PC TECH JOURNAL 














TABLE 1; Search Patterns 


TABLE 2: Representing a Pattern 


EXPRESSION 

EXAMPLE MATCHES 

a 

any lowercase a 

.at 

Bat, bat, cat 

[Bb]at 

Bat or bat 

[aeiou] 

any lowercase vowel 

Ta] 

any character except a 

[a-z] 

any lowercase letter 

go*d 

gooood, good, god, gd 

"c 

lowercase c at beginning of line 

c$ 

lowercase c at end of line 


EXPRESSION INTERNAL REPRESENTATION 


a 

LITCHAR a 


ANY 

V 

LITCHAR . 


Bb]at 

CCL 2 B b LITCHAR a LITCHAR t 


aeiou] 

CCL 5 a e i o u 


A a] 

NCCL 1 a 


a-g] 

CCL 7abcdefg 

go d 

LITCHAR g * LITCHAR o LITCHAR d 

A c 

BOL LITCHAR c 

c$ 

LITCHAR c EOL 


Like DOS wild cards, regular expressions are search speci- Regular expressions are preprocessed to simplify the match- 

fiers. However, in regular expressions, case is significant, ing algorithm. The internal forms are strings of literal charac 

and the asterisk indicates the procedure called closure. ters as well as special characters defined in REGULAR.PAS. 


The function DODASH expands range 
specifications, such as a-k to the equiva¬ 
lent expression, in this case abcdefghijk. 

The period, dollar sign, and caret 
outside of a class are transferred to the 
internal form of the expression without 
any change in form. The closure char¬ 
acter, however, is moved in front of the 
character it alters— x* becomes *@x 

FINDING A MATCH 

To match a line with a compiled regu¬ 
lar expression, the line is checked 
against the string PAT, one character at 
a time. This process is carried out by 
the function MATCH. Matching the pat¬ 
tern to a substring at a specific offset in 
the line is performed by AMATCH. 

Two complications can arise during 
the pattern-matching process. First, a 
character in the line might not match 
exactly one character in the pattern. For 
example, the pattern . matches a string 


comprised of a single character, but so 
do @a and [5abcde. The function 
PAT_ADVANCE updates the pattern in¬ 
dex appropriately, depending on the 
size of the pattern. The function 
LIN__ADVANCE also helps to keep the 
pattern index in step with the input line 
index, accounting for the position 
specifiers ( A and $), which do not 
increment the line index at all. 

Closure causes a major complica¬ 
tion when writing REGULAR.PAS. A clo¬ 
sure can match any number of charac¬ 
ters, including zero; the exact number 
of matches depends on the rest of the 
pattern and of the input string. Suppose 
the closure is x*, and the string is xccc. 
If x* represents the entire pattern, it 
should match all four xs. However, if 
the full pattern is ;c*;c, the closure 
should match the first three xs and 
leave the last x in the line to match the 
last x in the pattern. 


The function MATCH_CLOSURE 
deals with this problem of closure. 

As explained above, a closure matches 
as many characters as are possible. 
MATCH_CLOSURE determines the max¬ 
imum number of possible matches and 
saves that value in the integer variable n. 
It then calls AMATCH recursively to 
match the rest of the pattern against the 
rest of the line. If the remainder of the 
pattern and the remainder of the line 
match, the closure length is correct, and 
MATCH_CLOSURE is finished. Other¬ 
wise, the closure length is shortened by 
one, and AMATCH is called again. This 
process continues until the whole line 
matches or until a match fails because 
of closure length zero. l»m—1 


Jon Forrest is a systems engineer for Britton 
Lee in California. He graduated from the 
University of California at Santa Barbara 
with a degree in linguistics. 


WHAT’S REALLY IN THAT FILE? 


FIND OUT WITH fijgMASTER 

THE DISK UTILITY THAT’S QUICK AND EASY TO USE 

NOT SURE WHATS THERE? fileMASTER offers the power needed to look 
over a file quickly (it’s written in Assembler). You can rapidly jump to the end, 
back to the beginning, or to anywhere in between. It’s fast enough to easily 
browse all the sectors in a file, and the Hex/ASCI I display shows you exactly 
what’s there - byte for byte. 

CANT FIND THE DATA? fileMASTER can scan for character patterns in 
either Hex or ASCII. 

IS IT WRONG? Fix it with fileMASTER’s full screen editor that operates in 
either Hex or ASCII mode. 

NEED HARD COPY? Print either Hex/ASCII or plain ASCII formats. 

NOT IN A FILE? fileMASTER can handle the entire disk as if it were one big 
logical file. All functions operate on the whole disk just like a file. You can 
work with the Boot Record, FAT, Directory or any other data on your disk. 
HARD DISK? FLOPPY DISK? Yes, fileMASTER can handle any disk that DOS 
can. 

WHATS REQUIRED? IBM PC/XT/AT (or compatible). 


m 


ADD $3.00 SHIPPING- 


$39.95 

- CA RESIDENTS ADD $2.60 SALES TAX 



r 








1 

' Filename: SAmple.txt 


Segment:00000 


Offset 

0 

1 

2 

3 

4 

5 6 7 8 9 A B C D E F 

8123456789ABCDEF 


0808 

54 

68 

69 

?3 O 20 

69 73 20 61 20 73 61 6D 70 6C 65 

This is a sample 


0818 

20 

6F 

66 

20 74 

68 65 20 44 69 73 70 6C 61 79 20 

of the Display 


0020 

53 

63 

72 

65 

65 

6E 2E 20 20 45 61 63 68 20 20 28 

Screen. Each 


0030 

62 

79 

74 

65 

20 

69 73 20 73 68 6F 77 6E 20 69 6E 

byte is shown in 


0048 

48 

45 

58 

41 

44 

45 43 49 4D 41 4C 28 6F 6E 28 20 

HEXADECIMAL on 


0858 

74 

68 

65 

20 

6C 

65 66 74 28 61 6E 64 20 69 6E 20 

the left and in 


00b0 

41 

53 43 

49 

49 

20 69 6E 20 74 68 69 73 28 20 20 

ASCII in this 


0070 

61 

72 

65 

61 

2E 

20 54 68 65 20 4F 66 66 73 65 74 

area. The Offset 


0080 

20 76 

61 

6C 

75 65 73 20 70 72 6F 76 69 64 65 20 

values provide 


8890 

64 

69 

73 

70 

6C 

61 63 65 6D 65 6£ 74 20 69 6E 2D 

displacement in¬ 


0088 

74 

6F 

20 

74 

68 65 20 73 65 67 6D 65 6E 74 2E 20 

to the segment. 


08B0 

54 

6F 20 

63 

68 

61 6E 67 65 28 64 61 74 61 2C 20 

To change data. 


00C0 

6A 75 

73 

74 

20 

74 79 70 65 20 6F 76 65 72 20 20 

just type over 


00D0 

74 

68 

65 

20 48 45 58 20 6F 72 20 41 53 43 49 49 

the HEX or ASCII 


80E0 

64 

61 

74 

61 

2E 20 20 20 20 20 20 20 20 20 20 20 

data. 


00F0 

00 01 

02 

03 

04 

05 06 07 08 09 8A 8B 0C 8D 0E 0F 



Ua lues: 

He 

x=S4 

Bin: 

= 01010108 Dec = 834 Asc=T 



L»B2Sa 

V 

Ascii 

3imrn Edit 5f7TM.Fg7TT7yHll'TM€ T ffiri l B | n:^ 

Li 


S J. L. Schuller^/U^ 

_ (818) 366-6934 

14800 Rinaldi St., Suite 6A, Mission Hills, CA 91345 


CIRCLE NO. 228 ON READER SERVICE CARD 


MAY 1986 


193 










































due? in tm 



MODULAR DATA 
ACQUISITION SYSTEM 

We Bring Engineers, Scientists And The IBM- 
PC Together. Our unique high-performance 
modular data acquisition system allows you 
to purchase the configuration that exactly 
meets your requirements. 


8-BIT A/D 
SYSTEM 



12-BIT A/D 
SYSTEM 



QUA TECH, INC. 

478 E. Exchange St. Akron OH 44304 
(216) 434-3154 TLX: 5101012726 

CIRCLE NO. 177 ON READER SERVICE CARD 


PROGRAMMING PRACTICES 


Protect \bur 
Private Parts. 


Whether you’re a software 
developer or an end user, 
whether you work alone on a 
PC or you’re part of a 24- 
person project team, keeping 
new. software or sensitive 
data from prying eyes is 
serious business. 

Short of compli¬ 
cated, wizard-like 
protection schemes, 
or James Bond, you 
haven’t had too many 
realistic alternatives. 

Until now. 

Because Rainbow 
Technologies has developed 
simple, easy-to-use systems 
called Sentinels that say no 
to prying eyes. No matter 
how hard they look. 

The key to Sentinel is just 

-f 



that— a smart piece of plastic 
smaller than a best-selling 
cassette that plugs into the 
parallel port of your IBM 
PC/XT/ AT or compatible. 

There are two ways to go. 
TheSoftwareSentinel™, that 
prevents anyone from 
using your licensed 
software program 
unless you give them 
a key. And the Data 
Sentinel™, Rainbow 
Technologies’ 
newest prying eye- 
stopper, that automatically 
protects sensitive personal or 
project data as you enter it. 

The Sentinel Security Systems 
from Rainbow Technologies. 
The only hard part is 
the key. 


I | RAINBOW 

^ TECHNOLOGIES. INC. 

17971 Skypark Circle, Suite E, Irvine, CA 92714 
Phone (714) 261-0228 Telex: 386078 


LISTING 1: REGULAR.PAS 

PROGRAM regular; 

Search input lines for regular expressions. Similar to DOS 
•'FIND.EXE" and UNIX "GREP". Reads from standard input, writes 
to standard output. Usage: C:>DIR j REGULAR PAS 

> 

CONST 


{ 

REGULAR EXPRESSION OPERATORS 

} 

CLOSURE = '*'; 



BOL = ' A «; 

{ match starting at beginning of line 

) 

EOL = '$'; 

C match at end of line 

} 

ANY = 

< match any single character 

) 

CCL = '[*; 

{ begin character class 

) 

CCLEND = ']'; 

{ end character class 

} 

NEGATE = ,A '; 

{ signify negative character class 

) 

NCCL = '!'; 

{ negative character class: internal form 

} 

LITCHAR = '3'; 

{ next character not an operator 

) 

ESCAPE = '\'; 

{ treat next operator as literal character 

} 

DASH = 

{ consecutive range within class 

) 

EOF_NUM=255; 

C end of file } 


E0LN1_NUM=13; 

C return } 


EOLN2_NUM=10; 

{ line feed ) 


ENDSTR = A A; 

{ End String: internal code for end of line 

} 


($1 InOut.pas} t Get line from Standard Input, Put line to STDOUT ) 

var ARG, i input string: regular expression > 

LIN, C line from standard input } 

PAT: maxstr; C regular expression (internal form)} 

{$1 Compile.pas} { compile regular expression to internal form } 

function locate(c: char; pat: maxstr; offset: integer) : boolean; 
i 

Search for the character C in the character class at pat[offset] 

} 

var i: integer; 
begin 

{ size of class is at pat[offset], characters follow } 
locate:=true; 

i:=offset+ord(pat[offset]); {last position in class) 
while i>offset do 

if c=pat[i] then exit else i:=i-1; 
locate:=false; 

end; 

function lin_advance(lin: maxstr; l: integer; 

pat: maxstr; p: integer): integer; 

{ 

Matches character pattern pat[p] against input line characters 
starting at iinCL]. LIN_ADVANCE=-1 means no match. 


begin 

lin_advance:=-1; 
case pat[p] of 

LITCHAR: if lin[l]=pat[p+1] then lin_advance:=1; 
BOL: if 1=1 then lin_advance:=0; 

ANY: if l<length(lin) then lin_advance:=1; 
EOL: if l=length(lin) then lin_advance:=0; 
CCL: if locate(lin[l], pat, p+1) 

then lin_advance:=1; 

NCCL: if (l<length(lin)) and 

(not (locate(lin[l], pat, p+1))) 
then lin_advance:=1; 

else error ('in lin_advance: can"t happen') 
end; Cease) 

end; 

function pat_advance(pat: maxstr; p: integer) : integer; 


CIRCLE NO. 157 ON READER SERVICE CARD 


194 


PC TECH JOURNAL 



























{ 

Returns offset of next pattern within PAT string. Current pattern 
starts at PAT[P]. ex. if pat="ac3aat" and p=1 then pat_advance=3. 

> 

begin 

case pattp) of 

LITCHAR: pat_advance:=p+2; 

BOL,EOL,ANY: pat_advance:=p+1; 

CCL,NCCL: pat_advance:=p+ord(pat [p+1] )+2; 

CLOSURE: pat_advance:=p+1; 

else error('in patadvance: can''t happen'); 
end; {case} 

end; 

function amatch (lin: maxstr; offset: integer; 

pat: maxstr; p: integer): boolean; forward; 

function match_closure(lin: maxstr; offset:integer; 

pat:maxstr; p:integer): integer; 

{ 

Match as many characters as possible with closure. 

Does rest of pattern match remaining characters on line? 

If not, shorted closure match by one and try again. 

If closure shortened to 0, no match is possible (match_closure=*1) 

> 

var n, backtrack, increment: integer; 
begin 

match_closure:=0; 

n:=offset; 

repeat 

increment:=1in_advance(lin,n,pat,p); 
if increments then n:=n+increment; 
until ((increment^) or (n>length(lin))); 

if n=offset then exit; { closure length is zero > 

for backtrack:=n downto offset do 
begin 

if amatchClin,backtrack,pat,pat_advance(pat,p)) then 
begin 

match_closure:=backtrack; 
exi t; 
end; 

end; 

match_clo$ure:»*1; 

end; 

function amatch; 

{ 

Anchored match. Does pattern PAT match input line starting at 
LIN[offset]? Loop through PAT distinguishing the two cases; 
if PATtP] is a closure, find appropriate closure size to match. 
Otherwise, just compare characters and update PAT and LIN indexes. 

> 

var l,increment, closure_end: integer; 
begin 

amatch:=false; 
l:=offset; 

while (p<=length(pat)) do 
begin 

if l>ler»gth(lin) then exit; 
if pattp]=CLOSURE then 
begin 

closure_end:=match_closure(lin,l, 

pat,pat_advance(pat,p)); { jump over > 
if closure_end<0 then exit; 
l:=closure_end; 
p:=pat_advance(pat,p); 
end 
else 

begin 

increment: = lin_advance(lin,l,pat,p); 
if increments then exit; 
l:=l+increment; 
end; 

p:=pat_advance(pat,p); 
end; {while} 
amatch:=true; 

end; 


PROLOG 
APPLIED! 

The FIRST Interactive 
Prolog for the IBM 
and Macintosh. 

PROLOG/i 

A new enhanced Interactive 
Prolog for MS-DOS. 

Upwardly compatible ^ K^^y 
with PROLOG V and V-plus. 

PROLOG/m 

Prolog for the Macintosh! 

Edinburgh syntax. $OOQR 
Floating point, ^Zy^y 

math functions. 


THREE GREAT 
APPLICATIONS 

READY TO RUN 
NO PROGRAMMING 
EXPERIENCE NECESSARY. 

NFL X-pert $49 95 

Expert system for professional 
football handicapping. 

toolbox $ 29 95 

Including subroutines that speed 
and compress list handling, 
searches, sorts, reversal algorithms. 

toybox $29 95 

A collection of games and puzzles 
that make learning Prolog fun. 


MIX AND MATCH FOR ADDED SAVINGS ^ 

PROLOG/i PROLOG/m ‘SAVE* 

Interpreter plus... 

Toolbox or Toybox 
Toolbox and Toybox 
NFL X-pert 
NFL X-pert and 
Toolbox and Toybox 
BUY ALL 4 AND SAVE $50 
Applications Only 
Toolbox and Toybox 

NFL X-pert and Toolbox or Toybox 69.95 
BUY ALL 3 AND SAVE $20 






$ 79.95 

$109.95 

$20 

99.95 

129.95 

30 

99.95 

129.95 

20 

119.95 

149.95 

30 

129.95 

159.95 

50 

$49.95 



69.95 



89.95 




COMPATIBILITY 

Applications fully 
compatible with 
Prolog compilers 
and interpreters 
with Edinburgh 
syntax. 


o 


System Requirements 

PC-DOS/MS-DOS 
Ver. 20 or later 
256KRAM 
512 Macintosh 


5580 LA JOLLA BLVD. 

CHALCEDONY u'ouaca 
SOFTWARE, INCfl 9) 7 483 8513 
PHONE ORDERS: 1-800-621-0852 EXT 468 


□ PAYMENT ENCLOSED $_ 


□ CHARGE MY: 


1 

I Card No. _ 

H Signature_ 

H Mr./Mrs./Ms. 


CA residents add 6% sales tax 


□ MasterCard □ Visa 
_ Exp. Date_ 


Address _ 

City/State/Zip 


(please print lull name) 


PROLOG/i $69.95 

' PROLOG/m 99.95 

// you own PROLOG V or 
PROLOG V-plus. call for 
upgrade information. 

SHIPPING: 

. $ 5.00 U.S. 

7.50 Canada 
10.00 Carribean, 

Hawaii Air 
20.00 Overseas Air 

COD Orders Not Accepted I 
. 15 day check clearance 


T 

I 

I 

I 

I 


CIRCLE NO. 139 ON READER SERVICE CARD 


MAY 1986 


195 
























TEmH 


OURNAL 


CONG FRRENT ENVIRONMENT 


5278 79 EMULATION 


EXPANDED MEMORY 


S-D DRAWING Wrm MEGA GADD 


Focus on the technical issues that concern you 

in PC TECH JOURNAL 


Let’s face it, every day brings new technical 
challenges with the IBM PC. And just when you 
think you’ve met them all, you find out that IBM 
has just introduced DOS 3-1—or that the new 
networking standard is likely to be the IBM token 
ring—or that one of your users just bought a 
3270 board and doesn’t know what to do with it. 

Where can you turn for accurate and in-depth 
answers to the technical questions that confront 
you daily? PC TECH JOURNAL. 

PC TECH JOURNAL focuses on the technical 
what-if’s and how-to’s that are crucial to the 
growth of PC systems. 

PC TECH JOURNAL will give you a clear 
picture of products and technical developments 


with.detailed, objective articles on data manage¬ 
ment, applications development, communica¬ 
tions, and programming, plus hard-nosed 
product evaluations of both hardware and 
software. 

Subscribe now and save 50% on the 
magazine that puts technical issues into 
focus. PC TECH JOURNAL. One year 
(12 issues) only $23.70. To subscribe, 
please use attached card. Or for fast 
service, call toll-free 1-800-852-5200. 


Consult with 


ini' 


the Experts in ||0 (JRNAL 


4Z353 


HMHMWtfT Hit*** 


MACRO ASSEMBLERS 

f/t\J rnitf \HciriS(tf) Srijfion SY> luiniily 











































PROGRAMMING PRACTICES 


function match(lin,pat: maxstr): boolean; 

Loop through input line checking for match at each position. 

> 

var i: integer; 
begin 

match:=true; 

for i:=1 to length(lin) do if amatch(lin,i,pat,1) then exit; 
match:=false; 
end; 

begin 

if not getarg(arg) then errorCno pattern specified'); 

pat:=makepat(arg); 

while get lined in) do 

if matchdin,pat) then putline(lin); 

end. 


LISTING 2; COMPILE.PAS 

C Input and Output procedures follow. Interface to standard I/O included. } 
TYPE 

regpack = record C used for Standard I/O DOS calls > 
ax,bx,cx,dx,bp,si,di,ds,es,fIg : integer 

end ; 

ary = byte; 
xpt = record 

case integer of 

1: (ptx : A ary) ; 

2: (qq,rr :integer) 
end; 

maxstr = string[2551; 

VAR 

register : regpack; 
xx : ary; 
here : xpt; 
b: byte; 

procedure putstdout(wr: byte); 

{ Procedure to put the next byte of Standard Output out to 
MS DOS 2.x Standard Output file. > 

begin 

here.ptx := addr(xx); 

• xx := wr; 
register.ds := here.rr; 
register.dx := here.qq; 
register.cx := 1; 
register.bx := 1; 
register.ax := $4000; 
intr($21,register); 
end; 

procedure getstdin(var ip: byte); 

C 

Procedure to get next byte of input from DOS 2.0, 2.1 
Standard Input file. This filter uses only ascii characters 
(maximum decimal value 127) so 255 was chosen as the 
end-of-input flag. 

> 

begin 

here.ptx := addr(xx); 
register.ds := here.rr; 
register.dx := here.qq; 
register.cx := 1; 
register.bx := 0; 
register.ax := S3F00; 
intr($21,register); 
if register.ax = 0 then ip:= 255; 
if register.ax <>0 then ip:= xx; 

end; 

function getline(var lin: maxstr): boolean; 


MAY 1986 



It's Midnight — 


Do you know where 
your files are? 

Lost on the Disk? Tired of the search? 

Say Hello to SCOUT— The first memory-resident disk directory utility 
that lets you do all this: search, view, move, delete, copy, organize, 
format, sort, create, and TAKE CONTROL of your directories and 
printer without leaving your working program. Easy-to-use windows 
pop-up making SCOUT'S commands just a KEYSTROKE AWAY! 
SCOUT is perfect for hard disks and floppy systems, too. In fact, 
SCOUT is the only disk directory utility that can format a floppy disk 
from within a resident program—AT TWICE DOS SPEED! 

SCOUT works like SIDEKICK—SCOUT works WITH SIDEKICK. 

In fact, SCOUT works with most major programs including dBase III, 
Lotus 1-2-3, SuperCalc3, WordStar, WordPerfect, Turbo Pascal, 
Enable, and Sidekick. circle no. uo on reader service card 


WHY SETTLE — 
FOR LESS? 

Memory Resident 

Remove from memory without reboot 
Memory resident disk formatter 
Move to directories 
User selection of activation key 
Move files 

Mass file copy, delete 

Search tor files 

Multiple file sorts 

Display directories 

Alter file attributes 

Change default directory 

Display disk space 

View text files 

Set printer control codes 

Pop-up windows 

Display directory using file masks 

Single-key commands 

Create/remove directories 

Tag, untag, and retag files 

Rename files 

Rename directories 

Cumulative file tag totals 

Editor delete volume labels 

Print location of files found in search 

Print directory catalog 

Print tislnq of files in any directory 

Show CAPs and NUMLOCK status 

Display full day, date, time 

Display DOS version 

Change sort type dynamically 



INTRODUCTORY 

OFFER 


49 


95 


NO RISK OFFER 

30-Day Money-Back 
Guarantee if not 
thoroughly satisfied. 

SYSTEM REQUIREMENTS 
IBM PC and compatibles 
SCOUT loads in just 128K 
with DOS 2.00 
Supports color and mono¬ 
chrome monitors, and 
Hercules Graphic Cards 


(SCOUT) 


C# 


CHALCEDONY 
SOFTWARE, INC. 


5580 LA JOLLA BLVD. 
SUITE 126-T 
LA JOLLA, CA. 

92037 


PHONE ORDERS: 1-800-621-0852 EXT468 


IQ PAYMENT ENCLOSED $ _ 

!□ CHARGE MY: □ MasterCard [JV\sa 
| Card No._Exp. Date_ 

I 
I 

B Name_ 

I Address_ 

I City/State/ZIP_ 


$49.95 

3.00 


■■■I! 


Signature.. 


I Day Phone_ 


SCOUT 
CA Residents 
(sales tax) 
Shipping 
(see below) 
Total 


SHIPPING 

$ 5.00 US/Canada 
Surface 
7.50 US Air 
10.00 Overseas Air 
NO COD ORDERS ACCEPTED 
DEALER INQUIRIES WELCOME- 
Special Demonstration 
Package Available m 











































PROGRAMMING PRACTICES 



Reads a line from the Standard Input file and loads it 


preserved, but the Turbo parameter functions ignore 



into the string LIN. The end of line identifier ENDSTR 


leading and trailing spaces. 



is appended to each line. Unprintable characters are 


> 



ignored. 


var i, arg_num: integer; 



> 


begin 



begin 


getarg:=false; arg:="; arg_num:=paramcount; 



getline:=false; 


if arg_num=0 then exit 



lin:=''; 


else 



repeat 


for i:=1 to arg_num do 



getstdin(b); 


begin 



case b of 


arg:=arg+paramstr(i); 



32..125: if lengthClin)<254 then lin:=lin+chrCb); 


if (arg_num>1) and (i<arg_num) then arg:=arg+' '; 



eof_num: exit; 


end; 



end; {case} 


getarg:=true; 



until b=eoln1_num; 


end; 



lin:=lin+ENDSTR; 

getline:=true; 





end; 





procedure putline(lin: maxstr); 

{ 





Feeds a line to Standard Output byte by byte, adding 
<carrage return> <line feed> at the end. 


LISTING 3 : INOUT.PAS 



> 


procedure error(message: maxstr); 



var i: integer; 


begin 



begin 


writeln('error inregular.com: ',message); 



i :=1; 


halt; { stop the program } 



while lin[i]oENDSTR do 


end; 



begin 





putstdout( ord(linti]) ); 


function dodash(var expand: maxstr) : boolean; 



i:=i+1; 


C 



end; 


Expand character class like "a-h" to "abcdefgh". 



putstdout(eoln1_num); 


If syntax is wrong, D0DASH returns false and all subsequent DASH 



putstdout(eoln2_num); 


operators are interpreted as literal characters. 



end; 


> 



function getargCvar arg: maxstr) : boolean; 


var st: maxstr; count: integer; 



{ 


begin 



Command line parameters are returned in string ARG. 


dodash:=false; 



Spaces within the Regular Expression pattern are 


st:=‘*; 



TURBO ED IT ASM 


The First Idea-Processor For Programmers. 

FirsTime 


Has features no other editor has. 


Introducing the first co-resident editor assembler for the IBM PC family. 

TURBO EDITASM (TASM) is significantly faster and easier to use than the IBM 
Macro-Assembler (MASM). Whether you are new to assembly language and want 
to quickly write a small assembly language routine, or are an experienced MASM 
user tired of waiting months to assemble large files, TURBO EDITASM will bring 
the excitement back to assembly language. 


TURBO EDITASM IS MUCH FASTER: 

• How fast is TASM? The graph below shows relative assembly times for a 48K 

source file. For large files like this we blow MASM's doors off at 3 times their 
speed. For smaller 8K files we positively vaporize them at 6 times their speed. 
TASM (110 sec.) 

MASM (340 sec.) 

• TURBO EDITASM is faster for the following reasons: (1) Written entirely in 
assembly language (unlike MASM). (2) Editor, assembler and source file always in 
memory so you can go instantly from editing to assembling and back. (3) Elimi¬ 
nates the time needed to LINK programs. Executable COM files can be created 
directly. (Also creates OBJ files compatible with the IBM linker). 

TURBO EDITASM IS EASIER TO USE: 

TASM includes many other features to make your programming simpler. 

• Listings are sent directly to screen or printer. Assemblies can be single stepped 
and examined without having to leave the editor. 

• Access the built-in cross reference utility from the editor. 

• Full support of 186 and 286 (real mode) instructions. 


• Both Microsoft and 8087 floating point formats are supported. 8087 and 287 
instructions supported directly without macros for faster assembly. 

• Calculator mode: Do math in any radix even using symbols from the symbol table. 

• Direct to memory assembly feature lets you test execute your code from editor. 

• Coming soon: A coordinated symbolic debugger. 


COMPATIBILITY: TASM is source code compatible with MASM and supports 

macros, records and structures. , , . , 

Include $5.00 shipping and 

. . . . n . * . A handling. California residents 

Introductory Price $49 add e% sales Tax. 


With .OBJ Capability $99 


Dealer Inquires welcome 
916-988-7426 


Speedware ™ 


118 Buck Circle, Box T 
Folsom, CA 95630 


IBM, Microsoft trademarks of IBM Corp., Microsoft Corp. 


□ Fast program entry through single keystroke statement generators 

□ Fast editing through syntax oriented cursor movements 

□ Dramatically reduced debugging time through immediate syntax checking. 

□ The error checking is thorough and includes semantics • Undefined variables, 
types and constants • Assignment statements with mismatched types 

• Errors in include files and macro expansions 


□ Automatic program formatter (you specify the rules) 

Q Split Screen editing □ Command DOS from FirsTime 

□ Reading a file with errors moves cursor automatically to point of error 

□ Unique programmer-oriented features 

• zoom command gives top-down view of program logic 

• view macro command shows expansion of a C macro in the editor 

• view/update include file allows you to view and update an include file 

• transform command allows you to transform statements to related ones 


search for next etror command 



To Order Call: (201) 741-8188 or write: 
SPRUCE TECHNOLOGY CORPORATION 

P.O. Box 7948 
Shrewsbury, NJ 07701 


FirsTime for Turbo Pascal 
FirsTime for dBase III 
FirsTime for MS-Pascal 
FirsTime for C 


$ 74.95 
$125.00 
$245.00 
$295.00 


ftnjm* * • tfadwnw* m Spue* iKttndogv Coporau 
UcokA Corporation • IBM m a 1/aiMmara ol Iniarnj 
• Vt» PaacM ■ a aaoam^a M Bonand MamMonM • dBaM ■ ■ a karMmar. c< AomvlMa 


CIRCLE NO. 242 ON READER SERVICE CARD 


PC TECH JOURNAL 


CIRCLE NO. 190 ON READER SERVICE CARD 



























if expand[1]>= , 0' then 
if expand[33<= 1 z' then 

if expand[1]<expand[3] then 
begin 

for count:=ord(expand[1]) to ord(expand[3]) do st:=st+chr(count); 
expand:=st; 
dodash:=true; 
end; 

end; 

function getccl(class: maxstr) : maxstr; 

{ 

Convert character class to internal form by removing brackets and 
expanding all DASH operators. The internal form is 
<prefix character <n> <char 1> <char 2> ... <char n> where prefix is 
CCL for positive character class and NCCL for negative character class. 

> 

var encoded, parti, part2, expand: maxstr; PREFIX: char; dash_spot: integer; 
begin 

encoded:=copy(class,2,length(class)*2); {drop CCL and CCLEND} 
if encoded[1)=NEGATE then 
begin 

PREFIX:=NCCL; delete(encoded,1,1); 
end 

else PREFIX:=CCL; 

dashspot:=pos(DASH,encoded); 
if dash_spot<length(encoded) then 
while dash_spot>1 do 
begin 

parti:=copy(encoded,1,dash_spot-2); 
part2:=copy(encoded,dash_spot+2,length(encoded)); 
expand:=copy(encoded,dash_spot-1,dash_spot+1); 
if dodash(expand) then 
begin 

if Iength(part1)+length(part2)+length(expand)>255 

then error('regular expression too complex'); 
encoded:=part1+expand+part2; 
dash_spot:=pos(DASH,encoded); 
end 

else dash_spot:=0; { DASH syntax wrong. Terminate loop > 
end; {while} 

getccl:=PRE FIX+ch r(length(encoded))+encoded; 
end; 

function nextpat(var arg, pattern: maxstr) : boolean; 

(* 

Delete next pattern from input string ARG and return it in PATTERN. 

• , ..'}' is the set of all literal characters. 

*) 

var class_length: integer; 
begin 

nextpat:=false; 
if arg='' then exit; 
case argil) of 

ESCAPE: begin 

if length(arg)=1 then arg:=arg+ESCAPE; 
pattern:=copy(arg,1,2); 
delete(arg,1,2); 
end; 

CCL: begin 

patterns' ',* 

class_length:=pos(CCLEND,arg); 
if class_length<3 then 
begin 

pattern:=ESCAPE; 

class_length:=1; 

end; 

pattern:=pattern+copy(arg,1,class_length); 
delete(arg,1,class_length); 
end; 

ANY,BOL,EOL, CLOSURE, ' '..'}': 
begin 

pattern:=arg[1]; 
delete(arg,1,1); 
end 

else error('nextpat'); 
end; {case} 
nextpat:=true; 

end; 


procedure literal(var pat: maxstr; ch: char); 

{ Internal format for a literal character, ex. "C" --> "aC" } 
begin 

pat:=pat+LITCHAR+ch; 

end; 

function makepat(entered_arg: maxstr): maxstr; 

{ 

Takes input parameter ENTERED_ARG and returns internal form. To 
encode a closure, the CLOSURE character must be inserted before 
the last pattern in the PAT string. The starting position of the 
last pattern is held in OLDLENGTH. 

} 

var pat, arg, pattern: maxstr; old_length, new_length: integer; 
begin 

pat: = "; arg:=entered_arg; old_length:=0; new_length:=0; 
while nextpat(arg,pattern) do 
begin 

case pattern[1] of 

ESCAPE: pat:=pat+LITCHAR+pattern[2]; 

ANY: pat:=pat+ANY; 

BOL: if pat=" then pat:=B0L else literal(pat,BOL); 

EOL: if arg='' then pat:=pat+EOL else literal(pat,EOL); 

CCL: pat:=pat+getccl(pattern); 

CLOSURE: if new_length=0 then literal(pat,CLOSURE) 
else 

insert(CL0SURE,pat,old_length+1); 
else literal(pat,pattern); 
end; {case} 

old_length:=new_length; 
new_length:=length(pat); 
end; {while} 
makepat:=pat; 

end; 





ADALAB-PC® 

Adds Lab Data Acquisition 
To Your IBM®PC For $595 

An ideal interface for chromatography, 

, process control, etc. 


ADALAB-PC includes O a 13-bit 
integrating A/D, © a 12-bit fast A/D (up 
to 20 kHz, add $250), © a 12-bit D/A voltage 
output, © a second 12-bit D/A (add $50)* © 32 
digital I/O bits, © four 16-bit timers or counters, and © a 
terminator board which has a 4-channel mul- 
and convenient screw 
terminals (16-channel 
differential analog 
multiplexer with 
programmable 
gains from 1 to 256, 
add $300). 
© © Versatile ADAPT soft¬ 
ware and manual (free with 
ADALAB-PC) works with BASIC, 
FORTRAN or PASCAL, includes self-test 
and data acquisition software. Supports fast DMA 
sampling, extended memory storage, 
scrolling stripchart display. 

© LABTECH NOTEBOOK software $895. 

® IMI is an IBM Value Added Dealer. 

COMPLETE ADALAB-PC SYSTEMS 
at $3505, including 256K IBM PC, 

360KB disk, PC DOS 3.0, green moni¬ 
tor, color/graphics adapter, Epson 
printer with adapter & cable, ADALAB- 
PC, ADAPT software, plus IMI’s Scien¬ 
tific Plotter-PC ($95) and Curve Fitter- 

PC software ($95) FREE with systems! ©Trademark of International 

v ' J Business Machines Corp. 


INTERACTIVE MICROWARE, INC. 

■ ■ i ■■ p -0. Box 139, Dept. 237 Telex: 705250 

■ UJB State College, PA 16804 (814)238-8294 


MAY 1986 


CIRCLE NO. 209 ON READER SERVICE CARD 

































Networking Raised to a 



WB 

Qum 1 



-J 

gim , 



U W Ttl S 1 



' 




Greater Power 


Advanced Technology. With it. IBM tripled the speed of the 
PC and increased its memory capacity five-fold. Nowhere is 
this increase in computing power more important than in 
networking situations. If the AT's technological advances 
have prompted you to look into a multi-user network, you 
owe it to yourself to take a closer look at MultiLink 
Advanced '’ ... a unique multi-tasking, multi-user network¬ 
ing system that runs programs under PC-DOS 3.0. 

Eight Workstations for the Price of an AT. MultiLink 
Advanced " represents the next generation in networking 
systems for IBM microcomputers. The system enables ter¬ 
minals. connected to a single AT. to emulate IBM-PC's hav¬ 
ing up to 448K of RAM (The PC-Shadow" terminal. shown 
above, even has a PC look-alike, as well as work-alike 
keyboard and display). 

This means that instead of spending $3,000 per worksta¬ 
tion for a PC with a Kilobuck “Network Interface Board.” you 
can use inexpensive terminals . . . eight of which cost less 
than an IBM AT. Even if you need only one workstation 
connected to your AT. you’ll realize significant savings. 


MultiLink Advanced "... Instant Access to All of Your 
Resources. Central to most multi-user situations is the 
need to coordinate a variety of printers. With what’s been 
described by PC-Tech Journal as “. . . by far. the best print 
spooler for the IBM PC," MultiLink Advanced'" gives users 
the option to print either at their workstations, or at a central 
location. In addition, programs and files can be shared by 
multiple users locally or through use of a modem. Just think 
of it . . . having remote access to an AT with a lightweight 
terminal modem. 

Although designed to take advantage of the AT. MultiLink 
Advanced " runs on all versions of PC-DOS, except 1.0. and 
certain implementations of MS-DOS. A wide range of lead¬ 
ing programs are supported which include WordStar, 
dBASE III. Multimate, and Lotus 1-2-3. 

Get the Advanced Story Today. Call The Software Link 
Today for complete details and the dealer nearest you. Multi- 
Link Advanced " is immediately available at the suggested 
retail price of $495 and comes with a money-back guaran¬ 
tee. VISA. MC. AMEX accepted. 


IBM PC. AT. & PC-DOS are trademarks of 
IBM Corp MS-DOS. WordStar. dBase III. 
Lotus 1-2-3. and Multimate are trademarks 
of Microsoft Corp . MicroPro. Ashton-Tate, 
Lotus Development Corp . & Multimate 
International, respectively. 



1^1 THE SOFTWARE LINK, INC. 


8601 Dunwoody Place. Suite 632. Atlanta. GA 30338 Telex 4996147 SWLINK 

CALL: 404 998-0700 

Dealer Inquiries Invited 

CIRCLE NO. 196 ON READER SERVICE CARD 


THE SOFTWARE LINK. INC./CANADA 

400 Esna Park Drive. Suite 18 
Toronto (Markham). Ont L3R 3K2 
CALL 416/477-5480 
MultiLink Advanced ,M & PC-Shadow ai 
are trademarks of The Software Link. Inc 








PRODUCT WATCH 


Reviews 

and 

Updates 



FORTRAN SCIENTIFIC 
SUBROUTINE LIBRARY 

Wiley Professional 
Software 

QISORT 

Quantumn Information 
Systems, Inc. 



MINI-PRINT 

Zebra Systems 


FORTRAN SCIENTIFIC 
SUBROUTINE LIBRARY 

Wiley Professional Software 

605 3rd Avenue, New York, NY 10158 

2121850-6000 

PRICE: $175 



T he FORTRAN Scientific Subroutine 
Library, introduced by Wiley Profes¬ 
sional Software, is designed for pro¬ 
grammers using FORTRAN to develop 
applications in the areas of science, en¬ 
gineering, or advanced statistics. The 
package includes more than 100 differ¬ 
ent technical subroutines, which are 
divided into 17 major categories. 

The algebraic functions in the 
library include real matrix operations 
(transposition, row and column opera¬ 
tions, vector inner products, traces, 
matrix multiplication, and eigen values 
and vectors); operations on matrices 
with complex elements (trace, multipli¬ 
cation, and other arithmetic operations); 
polynomial operations (evaluation, addi¬ 
tion, multiplication, division, greatest 
common factor, and partial fractions); 
interpolation using three different 
methods; and polynomial differentia¬ 
tion. Numerical analysis can be per¬ 
formed with numerical integration us¬ 
ing five different methods; the solution 
of equations using eight different meth¬ 
ods; systems of equations (matrix inver¬ 


sion, the solution of simultaneous equa¬ 
tions, determinants); numerical simula¬ 
tion of differential equations (four first- 
order, four second-order, and four 
third-order methods); function evalua¬ 
tion with complex arithmetic (square 
roots, nth roots, powers, sines, cosines, 
exponentials, logarithms, gamma func¬ 
tions, the Bessel J function, and the Le¬ 
gendre function); and numerical analy¬ 
sis (generation of Chebyshev polynomi¬ 
als and Fourier analysis). 

The statistical functions offered in¬ 
clude general statistics; probability (in¬ 
cluding negative binomial, and hyper¬ 
geometric distributions); linear regres¬ 
sion (simple and multiple); analysis of 
variance (seven different methods); and 
time series analysis (moving averages, 
autocovariance, gross covariance, sea¬ 
sonal indices, and exponential smooth¬ 
ing). The final category of functions 
deals with utilities and graphics. 

To execute properly, the routines 
require a PC running DOS 2.0 or later, 
at least 128KB of memory, and a 
FORTRAN compiler. 

The library routines were all tested 
on a PC/XT with 256KB of RAM. The 
machine was not equipped with an 
8087 coprocessor chip. However, for 
most applications, installation of the 
8087 is recommended. Because the soft¬ 
ware is not copy protected, no prob¬ 
lems were encountered when transfer¬ 
ring the library to the hard disk. 

The performance of the subrou¬ 
tines was more than adequate. A multi¬ 
ple regression with 7 variables and 101 
observations was completed in seconds, 
and a 10-by-10 matrix was inverted in a 
short time. However, when inversion 
was attempted with a 100-by-100 matrix, 
an overflow resulted. 

The Scientific Subroutine Library 
package includes three disks and a 
manual. The first disk contains the com¬ 
plete library compiles in a FORTRAN 
.LIB file. Because this file consumes 
more than 200KB of memory, users 


may want to work with the individual 
routine modules provided in source 
code on the third disk. The second disk 
contains sample programs, one per 
module. The manual contains complete 
listings of the library and the sample 
programs, as well as a description of 
the parameters of each subroutine. This 
is helpful because the program listings 
include few comments. The manual and 
the sample programs are readable but 
cannot be thoroughly understood un¬ 
less the user has experience with FOR¬ 
TRAN library routines. Telephone sup¬ 
port is available to registered owners. 

—TONY LIMA 


QISORT 

Quantumn Information Systems, Inc. 
145 NW. 85th Street, Suite 103, 
Seattle, WA98117 
206/789-2888 

PRICE: $175 



O ne of the advantages of Ryan-McFar- 
land COBOL (RMCOBOL) (see 
“Cobol Performs,” Ted Mirecki, June 
1985, p. 58) is that many third-party util¬ 
ities are available to enhance the rather 
limited language capabilities of the 
Ryan-McFarland compiler, qisort is one 
of these utilities. In addition to sorting 
data files produced by RMCOBOL, 
qisort allows the user to perform rec- 


MAY1986 


201 

















PRODUCT WATCH 


ord selection and to write a file with a 
record layout different from that used 
in the input. It does not, however, 
perform merges. 

This product can be used as a 
stand-alone utility executed from the 
DOS prompt or as a subprogram linked 
into the RM runtime system and called 
from within an RMCOBOL program. 

When invoked from DOS, the pro¬ 
gram is controlled by a command line 
that specifies the sort parameters. These 
parameters are of three types. Only the 
first, which is the sort control param¬ 
eter, is required. It specifies which 
fields are to be sorted, which values the 
fields contain, and whether the sort is 
ascending or descending. Up to 32 sort 
fields can be specified. The second pa¬ 
rameter group specifies record selec¬ 
tion criteria. It is limited, however, to 
determining whether the field is equal 
or not equal to some constant; other 
comparison operators or a comparison 
value read from the input file cannot be 
used. Up to 32 conditions can be strung 
together using AND and OR logic. The 
final input parameter specifies which 
fields of the input record are to be writ¬ 
ten to the output file. 

These input parameters allow the 
user to control the sorting process. 


Because no relationship is required 
between the three sets of fields, selec¬ 
tion is not restricted to sort fields, and 
neither selection nor sort fields must be 
written to the output. 

Unlike files produced by some data 
managers, COBOL files do not include 
information about the field names, 
lengths, or types. This information must 
be in the command line, and preparing 
control input is tedious. Manually 
counting bytes and retyping lines are 
error-prone processes. 

qisort accepts as input any of the 
file types handled by RMCOBOL, includ¬ 
ing line sequential (variable length 
records terminated by CR/LF), variable- 
length binary sequential, fixed-length 
binary (processed within COBOL as 
either sequential or relative files), sin¬ 
gle-file indexed (data and indexes in 
the same file), and double-file indexed 
(data and indexes in separate files). For 
line-sequential and variable-length 
binary files, the output file is the same 
type as the input if the entire record is 
written. If field selection is in effect, or 
if one of the other file types is being 
used, the output is fixed-length binary. 
When sorting indexed files, qisort 
extracts only the data portion and pro¬ 
duces sequential output. 


As mentioned above, qisort can be 
incorporated into the RMCOBOL run¬ 
time system then called from within a 
COBOL program. A small interface 
module (provided with qisort) must be 
linked into the runtime system using 
the linker supplied by Ryan-McFarland. 
At runtime, a COBOL CALL statement in¬ 
vokes this module which then loads the 
main qisort program. 

The three-part command structure 
of qisort is almost as powerful as a 
built-in sort capability using input and 
output procedures. However, qisort is 
not an adequate substitution for the 
SORT verb provided by high-level im¬ 
plementations of COBOL. In a true in¬ 
ternal son, the compiler keeps track of 
field positions, types, and lengths by 
name. With qisort, the programmer 
performs these operations manually. 

Another disadvantage is that qisort 
displays its logo and progress messages 
while in use. This can disrupt a care¬ 
fully laid out screen. 

qisort performs well. When exe¬ 
cuting the son benchmarks used in pre¬ 
vious reviews of high-level compilers 
(see “Cobol Performs, Pan II,” Ted 
Mirecki, July 1983, p. Ill and Pan III, 
August 1985, p. 107), qisort turned in 
times of 16 seconds for 100 records and 



c 


c 

' COMPILERS t* I 

n 

HC680X0 ' 

► 

► 

Produce highly optimized code 

Complete development environment: Assembler, 
Linking and Downline Loaders, Runtime Libraries 

► 

► 

Available for Motorola, DEC, and Alcyon host 
computers 

The #1 choice for compact, fast MC680X0 code 

► 

$1495 for C68 (Motorola host) 

$2295 for C68/020 (Motorola host) 

5010 Shoreham Place 

31 ncuorv san Die g°- ca 92122 

Z=tUL^^ITo5poraxiom (619) 587-1155 TELEX 5106004947 


DEC is a Trademark of Digital Equipment Corporation. 


ORGANIZE YOUR COPIES OF 
PC TECH JOURNAL 

Make your magazine collection a handsome addition to 
your decor. These durable library-quality cases and 
binders will protect and organize your collection, make 
individual issues easy-to-find. They’re made of luxury- 
look leatherette over high-quality binder board. And both 
styles are custom-designed for this or any other maga¬ 
zine you save, with size, color and imprint selected by the 
publisher. FREE transfer foil is included for marking 
dates and volumes. 



hold your issues on 
individual snap-on 
rods, combining them 
into one volume 
$7.95 each; 3 (or 
$22.50; 6 for $42.95. 
Mixed titles OK for 
quantity prices. 


OPEN BACK CASES 


store your issues (or individual 
reference. $6.95 each; 3 for 
$19.75; 6 for $37.50, Mixed titles 
OK for quantity prices. _ 


For Fast Service Call 1-212-503-5319 


TEGH 

JOURNAL 


P.O. Box 5120 Philadelphia. PA 19141 
Please send: Quantity 
. Cases _Binders 


PAYMENT ENCLOSED $_*Add $1.00 per 

order for postage and handling. Outside USA add $2.50 
per unit ordered. Send US funds only. 

CHARGE MY: ($10 minimum) 

□ American Express □ Visa □ MasterCard 


Card No. _ 


_Exp. Date _ 


Mr./Mrs./Ms- 
Address_ 


City/State/Zip_ 


* Residents of PA add 6% sales tax. 


202 


CIRCLE NO. 106 ON READER SERVICE CARD 


PC TECH JOURNAL 


































109 seconds for 300 records. This 
places it behind mbpCOBOL (with 
times of 8 and 63 seconds for 100 and 
300 records, respectively) and ahead of 
Microsoft COBOL (29 and 119 seconds). 

Documentation for qisort consists 
of 28 typewritten pages that cover all as¬ 
pects of the program’s operation. The 
program is not copy protected. 

qisort does what it says it will do: 
it provides a sort and selection capabili¬ 
ty for RMCOBOL files. Despite the ne¬ 
cessity for manual control input and the 
disruption of the screen, this product is 
a good bet for RMCOBOL users. 

—TED MIRECKI 


ters are printed in boxes that are 36 
dots high and 12 dots wide.) Lowercase 
mini-print characters with parts that 
descend below the line require two ex¬ 
tra vertical dots. For every three passes 
of the print head, mini-print draws two 
lines of characters. 

To print a file with mini-print, the 
user types the following: 

d:>MINI <filename> 

To pipe standard input to the MINI.EXE 
file, this command is used: 


d:> DIR I MINI /P 

The IP instructs the program to use the 
standard DOS input file handle. 

MINI.EXE is perhaps most useful 
when stored as a memory-resident pro¬ 
gram. It requires 83KB of memory. To 
install it and its print buffer perma¬ 
nently in memory, the user types: 

d:>MINI /I 

The resident mini-print reroutes all 
printer output to a six-page buffer. It 



MINI-PRINT 

Zebra Systetns 

851 Haddock Street, Foster City, 
CA 94404 
415/341-2011 

PRICE: $29.95 


CIRCLE 364 ON READER SERVICE CARD 


Z ebra Systems has introduced a prod¬ 
uct designed to print up to six times 
the normal capacity of type onto an 8 Vz- 
by-11-inch page. This product, called 
mini-print, is intended for use with a dot 
matrix graphics printer. By directly driv¬ 
ing the dot matrix pins, mini-print prints 
text in a supercompressed font. 

The standard configuration of the 
MINI.EXE program prints six com¬ 
pressed pages of 66 lines each on an 8v 
2 -by-ll-inch sheet of paper. MINI.EXE 
also can print a single page that is 192 
characters wide and 198 lines long. 

This extended column format is 
useful for printing program listings, 
spreadsheets, and database files. The 
tiny six-point type also is helpful when 
printing directory listings. 

mini-print draws characters using a 
printer’s graphics mode; each character 
is fitted inside a box that is 10 dots high 
and 5 dots wide. (Standard-sized charac- 



When You Demand Precision Data Acquisition 
At The Lowest Possible Cost—Demand The Analog Connection™ 

NOW, NEW FROM STRAWBERRY TREE COMPUTERS,™ The Analog Connection™ is 
available in fast 12- and 16-bit models for the IBM® and IBM compatible computers. 
The 12- and 16-bit cards (with speeds up to 25KHz) and our unique software handle 
control, data logging, real 
time, graphing, alarms, 
and maximum, mini¬ 
mum, average and differ¬ 
ence readings. 

The Analog Connection 
features 8 or 16 differential 
analog inputs expandable 
to 240 with additional 
cards. It accepts thermo¬ 
couples, RTDS, preSSUre iBMis a trademark of International Business Machines Corporation. Apple is a trademark of Apple Computers 

sensors, strain gauges, voltages, currents and other inputs. Cold junction compen¬ 
sation and linearization for thermocouples is included. Inputs are protected to 150 
volts with 50 millivolt to 10 volt ranges on the analog inputs. Calibration is guaran¬ 
teed to remain within specifications during our two-year warranty period. 

No Programming Required! 

The Analog Connection for both the IBM and Apple® personal computers offers new, 
faster software with added features (such as real time graphing) making data 
acquisition and control a snap. 

Prices start at just $790 for the 12-bit Analog Connection StfclWbGITy 

Computer^ 

( 408 ) 736-3083 


and $1290 for the 16-bit model. Ask about our free trial 
offer and demonstration diskette. CALL TODAY! 

1010 WEST FREMONT AVENUE 
SUNNYVALE, CA 94087 


MAY 1986 


CIRCLE NO. 204 ON READER SERVICE CARD 














PC <0 i) MAINFRAME 

VIA 9-TRACK TAPE 



For Information Interchange — Backup 
Archival Storage ... 

IBM format compatible 9-track, Vfc inch magnetic tape is the universally 
accepted media for mainframes and minicomputers. Now Catamount 
offers Low Cost , Lightweight 9-track Tape Subsystems for the IBM-PC/XT/ 
AT computers which allow: 

• Reading tapes generated on mainframes and minicomputers. 

• Writing tapes to be read on mainframes and minis. 

• ASCII, EBCDIC and Binary tapes accommodated. 

• 800 bpi NRZI, 1600/3200 bpi PE, and 6250 bpi GCR format systems 
available. 

• Storage capacities up to 180 MB on a single reel. 

Systems come complete with comprehensive DOS command syntax 
oriented software and an Installable Device Driver. For OEM applications, 
the tape controller is available separately. 

Catamount 

Corporation _ 

2243 Agate Ct. • Simi Valley, CA 
(805) 584-2233 

CIRCLE NO. Ill ON READER SERVICE CARD 


UNBEATABLE PRICES! 


FULLY PC COMPATIBLE 


256K Accelerator $495 

• 10 MHz, 8086 Microprocessor 

• 2.5 to 4 Times Faster than IBM PC/XT 

Accelerator with Clock I/O $575 

• Same Features as 256K Accelerator, plus... 

• Clock/Calendar; Serial and Parallel Ports 

Accelerator with 8087 $695 

• Same Features as 256K Accelerator, plus... 

•10 MHz 8087 

M No Slot" Clock $55 


• Does Not Require a System Expansion Slot 

• Plugs into the 8088 Socket 

‘Expandable to 640K. Write or call for prices. 

- All products designed, manufactured, and tested 
in the USA 

- Write or call for spec sheets and dealer pricing. 

( 503 ) 627-0570 

Visa/MC/COD/Money Order/Check 

LEXIM Trading (U.S.A.), Inc. 
15025 SW Koll Parkway, 1A 
Beaverton, OR 97006 



VT100/VT52 & Tektronix™ 
4010/4014 Terminal Emulator 

Excellent emulation and the features you want: 


m 

u 

h 

> 


-*• use 4096 x 3120 resolution 
-+ zoom, pan, and window plots 
high resolution printer dumps 
-a cho 086 text and plot color 
-* transfer files with 
XMODEM and Kermit protocols 
-» scroll last 4 pages of text 
-■> 132 column VT100 capability 


18 User-definable keys 
capture plots and text on disk 
full or half duplex 
access to DOS commands 
all VT100 keypad commands 
command line editing 
fast direct screen access 
password security 


VTEK makes your PC better than a terminal 
$150 from Scientific Endeavors 


Publication Quality Graphics for 
Scientific and Technical Applications 


m r g 

Ue 

In 

CL 

ID 

L 

in 


multiple levels of J}Jg or scripts 
4096 x 3120 resolution 
zoom, pan, window plots 
multiple plot9 on a page 
high resolution printer 
dumps, full or half page 
plotter support in COLOR 


-♦ linear, log, & polar plots 
-» bar charts & Smith charts 
-> contour plots with labels 
-* 3-D curves, 3-D surfaces 
with hidden line removal 
-» 4 curve types, 8 markers 
-» 14 fonts, font editor 
16 color plots on EGA, Sigma, TeleVideo & Tecmar boards 

Over 100 routines can be called by your 
C program. $350. Demo $8. 

SOURCE INCLUDED for private use only. 

For DeSmet, C-86, Aztec, Lattice, and Microsoft C compilers. 

Scientific Endeavors 

Route 4, Box 79; Kingston, TN 37763 
[615] 376-4146 

For 256k IBM and Corona PCs, DOS 2.xx,3.xx 
Epson, Okidata, Toshiba, C. Itoh printers. 
Hewlett Packard, Houston, Sweet-P plotters. 
Corona Laser printer. IBM, IBM EGA, Sigma. 
TeleVideo, Tecmar, Hercules, Corona graphics. 
A compatible assembler is required. 

THIS AD WAS MADE USING Graphic" 



CIRCLE NO. 187 ON READER SERVICE CARD 



Real-Time Multitasking Executive 


■ No royalties 

■ Source code included 

■ Fault free operation 

■ Ideal for process control 

■ Timing control provided 

■ Low interrupt overhead 

■ Inter-task messages 


Options: 

■ Resource Manager 

■ Buffer Manager 

■ Integer Math Library 

■ Language Interfaces: 

C Pascal 
PL/M Fortran 

■ DOS File Access : 

CP/M-80 
IBM PC DOS 



AMX isTM Of KADAK Products Ltd. 
CP/M-80 isTM of Digital Research Corp. 
IBM. PC DOS areTM of IBM Corp. 


AMX for 8080 $ 800 US 

8086 950 

6809 950 

68000 1600 


Manual (specify processor) 75 


Jk KADAK Products Ltd. < 6 ° 4 > 734-2796 

Telex: 04-55670 

"" 206-1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5 


CIRCLE NO. 138 ON READER SERVICE CARD 


CIRCLE NO. 112 ON READER SERVICE CARD 


204 


PC TECH JOURNAL 



















































PRODUCT WATCH 


DO YOU STILL BELIEVE IN THE DOS 32 MEGABYTE LIMIT? 


then waits for a full six pages of text be¬ 
fore engaging the printer. The AJ com¬ 
mand forces the program to print out 
all text stored in the buffer and relin¬ 
quish control. This does not return the 
program’s memory to DOS, but the 
user can call the program again without 
taking additional memory. 

Other commands allow for half- 
and full-page form feeds. The full-page 
feed acts as the standard form feed but¬ 
ton on any printer, but maintains the 
critical line positioning required by 
mini-print. Exact page formatting is most 
important. A tiny error in the top mar¬ 
gin can cause lines to be printed over 
perforations. Another disadvantage is 
that the user cannot adjust the blank 
space between lines. When text is 
printed in all capital letters, the lines al¬ 
most touch and are difficult to read. 

mini-print is highly sensitive to dis¬ 
turbance while printing. One page can¬ 
not be torn away while another page is 
being printed. Even this slight pressure 
causes text to fall out of alignment. 

mini-print is supported by those 
printers that interpret the ESC 3 and 
ESC L control codes as they are inter¬ 
preted by IBM printers. The ESC L com¬ 
mand sets an IBM printer to a double 
density graphics mode that allows 120 
dots per horizontal inch. ESC 3 sets 
IBM printers to space vertical lines in 
increments of ^i6 of an inch. Other 
printers that similarly interpret these 
commands include the Epson MX-80/ 

100 with Graftrax, the Epson RX and FX 
series, Citizen, Roland, and Panasonic. 

For this review, mini-print was 
tested on a PC/AT with 640KB of mem¬ 
ory, a PC/XT with 512KB, and a PC with 
640KB. These machines were attached 
to an IBM ProPrinter, an Epson MX-80, 
and a Panasonic KX-P1091. In each case, 
the program operated the printer with¬ 
out error. When running on the Pro- 
Printer, mini-print used the 120 dot-per- 
inch mode, even though this printer 
offers a sharper 240 dot-per-inch mode. 

The software is packaged in a thin 
plastic slipcover. The documentation is 
typeset in six-point characters on the 
back of the black and white diskette 
cover. The information is terse, but ade¬ 
quately describes the basics necessary 
to using the program. 

The software package includes the 
MINI.EXE program, a backup copy 
called MINI.BAK, sample files, and a 
demonstration batch file. Also included 
is a utility that allows mini-print to print 
on both sides of a piece of paper. 

—TOM SWAN 
IHIMl 


^feature Deluxe Serial no. 301136 

Version 2.21 (C)Copyright Golden Bow Systeas 1984, 1985, 1986 


Over 

IBtl Personal Computer DOS Version 3.10 
Ochkdsk 

392691712 bytes total disk space 
65536 bytes in 2 bidden files 
557056 bytes in 17 user files 
65536 bytes in bad sectors 
392003584 bytes available on disk 

393216 bytes total aeaory 
186944 bytes free 

C> 


This is a photograph ofaCHKDSK screen on an IBM PC with 
two Winchester drives spanned by Vfeature™ Deluxe to create 
a logical DOS drive of 392 Megabytes. 

You can use Vfeature for drive-spanning, as we did in the illustration (to 1 
Gigabyte), or you can use it to turn one or two drives into a lot more—up 
to twenty-three logical disk volumes which DOS sees as separate drives. 

You can also use Vfeature to attach drives to your computer which are not 
normally supported by your controller. 

Vfeature works with the AT, XT, and most compatible hard disk controllers, 
including RLL and ESDI controllers. SCSI support will also be available 
soon. You don’t need to modify the hardware to use Vfeature. 

Vfeature comes with everything you need to install it—a physical format¬ 
ter with bad track mapping, a high-level format, a thorough manual, good 
Tech Support when you need it—and the extras, such as letting you select 
the size of the cluster for each volume (bet you thought that was another 
DOS limit), and letting you set passwords to lock your keyboard, your 
disk, and your system. 

Vfeature comes in two versions, standard and Deluxe. The Deluxe version 
may be a requirement for using certain drives on the AT. 

Vfeature (standard) operates with most DOS versions—within the 
32 Megabyte "limit" per DOS disk volume. Disk spanning is not 
supported. 

Vfeature Deluxe operates with IBM PC-DOS only—allowing DOS 
disk volumes to 1 Gigabyte! Disk-spanning is fully supported. 

Vfeature—your link to the Megadisks! 



Vfeature $80 

Vfeature Deluxe $120 

$3 shipping/handling—California orders add 6% 

Golden Bow Systems 

2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 


The system in the illustration used an Adaptec 2070 hard disk controller interfacing two Maxtor drives, an 
XT-1140 and an XT-2190. 

Vfeature is a trademark of Colden Bow Systems Other product names may be trademarks or registered trademarks of their respective companies 

CIRCLE NO. 110 ON READER SERVICE CARD 


MAY 1986 


205 












New for IBM PC/XT/AT 
low cost mag tape subsystem 

• Fast controller—40Kbytes/second 

• New MAINSTREAMER™ tape drive 

• Small size, lightweight 

Send for our complete drive and interface manuals so 
you can evaluate and compare. Only $25 for both. 

Tape systems are also available for all other RS-232-C 
interfaces. Call or write attn: IBEX Applications 
Engineer today. 


IBEX 


Right for the times 

IBEX COMPUTER CORPORATION 

20741 Marilla St.. Chatsworth. CA 91311 
(818) 709-8100 TWX: 910-493-2071 



CIRCLE NO. 149 ON READER SERVICE CARD 


CIRCLE NO. 185 ON READER SERVICE CARD 



Real Time Devices' GP100 is am\\ capability GPIB (IEEE 
488) interface for the IBM® PC That includes high-speed 
software for the single quantity'price of $299. 

• Over 40 high and low level GPIB commands 
•Fast assembly language extensions to BASIC 
•DMA and interrupt capability 
•Comprehensive tutorial/instruction manual 

• No hidden software, cabling, or documentation charges 
•Supports up to 15 devices 

• FORTRAN, PASCAL, and FORTH extensions available 


Even if you're not familiar with GPIB interfacing, the GP100 
will have you controlling this powerful bus in no time at all, 
allowing you to focus on your application requirements. 

So if you've been intimidated by the complexity or cost of 
other GPIB implementations for the IBM PC call on us to 
help — you'll be pleasantly surprised. 

Real Time Devices, Inc. 

PARK FOREST A VENUE 
OX 906 

COLLEGE. PA 16804 
1-8087 



WIZARD C 


“...The compiler’s performance makes it very useful in 
serious software development.” ^ j> ec y L j ourna / 

January, 1986 


“ Wizard’s &ot the highest marks for support.” 

“The Wizard compiler had excellent diagnostics; it would 

be easier writing portable code with it than with any 

other compiler we tested.” ~ ^ , , , T i 

Dr. Dobb s Journal 

August, 1985 

“...written by someone who has been in the business a 
while. This especially shows in the documentation.” 

Computer Lan&ua&e 
February, 1985 


Discover the powers of Wizard C 
for yourself! 

Full Lint checking,, six memory models, 8087 support, 
in-line assembly lan&ua&e, ROMable data support, full 
library source code. Cross-compilers are available on 
VAX/VMS and UNIX machines. 


Only $450. 

NA/izB^rd 

SYSTEMS SOFTWARE, INC. 


(617) 641-2379 

11 Willow Court 


Arlington, MA 02174 



CIRCLE NO. 165 ON READER SERVICE CARD 


CIRCLE NO. 221 ON READER SERVICE CARD 


206 


PC TECH JOURNAL 






















LEGAL BRIEF 


MAX STUL OPPENHEIMER 


Software Goods or Services? 

The sale of computer software can be considered a transaction 
of goods and is, therefore, covered by the UCC. 



O ne of the fundamental questions of 
computer law is whether software 
constitutes goods or services. This issue 
is significant because a set of laws 
known as the Uniform Commercial 
Code (UCC) creates rights and rules of 
conduct applicable to goods but not to 
services. (The UCC has been adopted by 
every state except Louisiana.) 

Despite its importance, the ques¬ 
tion of software as goods or services 
has remained largely unanswered. Sev¬ 
eral courts have considered the issue of 
whether bundled software and hard¬ 
ware constitutes goods, and the conclu¬ 
sion has been that the bundle should 
be considered goods. These decisions, 
however, could have been based upon 
the comparative value of hardware and 
software. 

In September 1985, however, a fed¬ 
eral court of appeals was faced with the 
pure question of whether software 
alone constitutes goods or services. The 
case was RRX Industries, Inc. v. Lab-Con 
Inc.. (772 F.2d 543, Ninth Cir. 1985). 

The facts of the RRX case were 
quite straightforward. The user had en¬ 
tered into an agreement to license soft¬ 
ware and to acquire support and train¬ 
ing from the licensor. The contract pro¬ 
vided that the licensor: 
warrants that the software shall be free 
of programming ‘bugs’ for the term of 
the license, and that [the licensor] shall 
correct any such programming ‘bugs’ 

...at no cost to the user. The liability 
of [the licensor] under this warranty, 
or under other warranty expressed or 
implied, shall be limited in amount 
[to the sum] that shall have actually 
been paid by the user...pursuant to... 
this Agreement. 

Although this warranty is broader than 
most, the limitation of liability does not 
differ materially from the standard limi¬ 
tation of liability used in most shrink- 
wrapped license agreements. 

The trial court concluded that the 
software never functioned as intended 


and that the licensor neither corrected 
the bugs (apparently because two key 
employees had left the company) nor 
provided sufficient training. 

One of the most important issues 
of the case was whether the limitation 
of liability set forth in the contract was 
effective: if it was, the user was entitled 
only to be reimbursed the amount paid 
for the system ($40,866.66); if it was 
not, however, the user was entitled to 
recover not only the purchase price of 
the system, but also consequential dam¬ 
ages (a total of $48,223.05). 

Legal issues such as this often are 
decided on the basis of an analogy (see 
“Sales Tax and Software: Nothing is 
Simple,” Legal Brief, January 1984, 
p. 196). For example, the sale of a piece 
of software can be compared to the sale 
of a phonograph record. In both cases, 
the product has little intrinsic value but 
contains encoded information that, 
when decoded by the appropriate 
mechanism, holds significant value for 
the purchaser. A phonograph record is, 
without question, a good, and its sale is 
governed by the UCC. Therefore, if the 
record analogy is accepted, a diskette 
containing software also should be con¬ 
sidered a good, the sale of which is 
covered by the UCC. 

On the other hand, consider a 
bookkeeper and a bookkeeping pro¬ 


gram. From the customer’s point of 
view, it should not matter whether the 
books are kept by a human bookkeeper 
(clearly a transaction of services, not 
goods) or by a computer program. Pre¬ 
sumably, the results are the same in 
both cases. If this analogy is accepted, a 
diskette containing bookkeeping soft¬ 
ware should be considered a service, 
even though the diskette itself can be 
considered a good. 

The appeals court hearing the RRX 
Industries case concluded that the trans¬ 
action between RRX and Lab-Con in¬ 
volved goods and that, as a result, the 
UCC of California applied. The court 
awarded the user consequential dam¬ 
ages as well as the purchase price of 
the system. The remedies that the par¬ 
ties had written into the contract were 
rendered ineffective by the licensor’s 
inability to live up to its end of the 
agreement and debug the software; the 
court “properly found the default of the 
seller so total and fundamental that its 
consequential damages limitation was 
expunged from the contract.” 

The court did not go so far as to 
conclude that software is, in all cases, to 
be considered goods. Its decision was 
based on a case-by-case analysis of 
whether a sale aspect or a service 
aspect predominated in each transac¬ 
tion. The analysis does suggest, how- 


MAY1986 


207 


ILLUSTRATION • MACIEK ALBRECHT 
















LEGAL BRIEF 


ever, that the software itself was viewed 
as goods, and that the issue was wheth¬ 
er the contractual provisions for em¬ 
ployee training, repair services, or fu¬ 
ture upgrades—which apparently were 
viewed as services—were important 
enough to outweigh the sale-of-software 
aspect of the transaction. 

A dissenting opinion pointed out a 
problem with the court’s decision. Sup¬ 
pose, it posited, that a Fortune 500 
company purchases a licensor’s soft¬ 
ware. The licensor might consider the 
purchase price inadequate to compen¬ 
sate for the possibility of consequential 
damages (which, in the case of a large 
user, could be very large). Should not 
the Fortune 500 company be free to 
bargain for a lower price in exchange 
for eliminating the possibility of conse¬ 
quential damages? 

A reply might be to consider the 
situation in which the seller of the soft¬ 
ware is a Fortune 500 company. In this 
case, the licensor does not have to bar¬ 
gain with the user, but can impose an 
absence of meaningful remedies upon 
the smaller company. 

In the RRX Industries case, less 
than $7,500 was at stake. Nonetheless, 
the decision of the case has potentially 
widespread implications. Although the 


transaction was termed a license agree¬ 
ment, the court held that the UCC ap¬ 
plied. If a bargained limitation of reme¬ 
dies can be invalidated, the possibility 
of invalidation is even stronger in the 
case of shrink-wrapped licenses, which 
do not involve bargaining. If the sale of 
software that carries with it a promise 
of training, maintenance, and upgrades 
can be termed “predominantly” a trans¬ 
action of goods, then software sold off 
the shelf without any agreement con¬ 
cerning training, maintenance, or sup¬ 
port also can be considered goods and 
covered by the UCC. 

Because the warranty in the RRX 
case provided that the “software shall 
be free of programming bugs,” and be¬ 
cause the court found that the software 
was not free of bugs, the question of 
implied warranties did not need to be 
addressed; all that mattered was the 
UCC’s restrictions on limitations of 
remedies. The UCC, however, also con¬ 
tains provisions that create implied war¬ 
ranties. These provisions can be used to 
invalidate limitations on the scope of 
warranties if those limitations are con¬ 
sidered so severe that they “cause an 
exclusive or limited remedy to fail of its 
essential purpose.” 

Additional UCC sections of interest 


make provisions for the following: 

If the court as a matter of law 
finds the contract or any clause of the 
contract to have been unconscionable 
at the time it was made the court may 
refuse to enforce the contract, or it 
may enforce the remainder of the con¬ 
tract without the unconscionable 
clause, or it may so limit the applica¬ 
tion of any unconscionable clause as to 
avoid any unconscionable result. 

Unless otherwise agreed, a seller 
dealing in goods of the kind that he 
regularly sells warrants that those 
goods shall be delivered free of the 
rightful claim of any third person by 
way of infringement or the like.... 

Express warranties can be created 
by any description of the goods which 
is made part of the basis of the bargain 
or by any sample or model which is 
made part of the basis of the bargain. 

It is not necessary to the creation of 
an express warranty that the seller use 
formal words such as ‘warrant’...or 
that he have a specific intention to 
make a warranty.... 

Unless stated otherwise, a war¬ 
ranty that the goods shall be merchant¬ 
able is implied; to be merchantable, 
goods must, among other require¬ 
ments, pass without objection in the 
trade under the contract description 
and be fit for the ordinary purposes 
for which such goods are used. If the 
seller understands the use of a good 
that is intended by the buyer as well as 
the reliance the buyer is placing on 
the seller’s judgment when selecting 
the suitable good, a warranty of fitness 
for that particular use is implied. 

Modification (or exclusion) of 
warranties must be handled in a 
manner specified by the UCC. 

Every contract or duty...imposes 
an obligation of good faith in its per¬ 
formance or enforcement. 

The decision of the RRX Industries 
case is only binding on federal courts 
of the ninth circuit. It is open to a fu¬ 
ture defendant in another jurisdiction to 
argue against the analysis of this case. 
Because the decision was made on a 
case-by-case basis, future defendants are 
left with the possibility of arguing that 
their cases are different from the RRX 
case. Software companies are probably 
instructing their lawyers to rethink their 
contracts at this very moment; hardware 
companies, too, might have cause for 
reflection. I 1111 —) 


Max Stul Oppenheimer, PC, is a partner in 
the law firm of Venable, Baetjer & Howard, 
located in Baltimore, Maryland. 


P ERSTOR’_ 

Removable Hard Disk Cartridge Expansion Systems 

BERNOULLI ALTERNATIVE! 

■ High Performance Fixed and Removable from 10 to 560 mbyte 

■ Internal or 
external mount 

■ The only Removable Hard Disk Cartridge Drive that attaches 
directly to the IBM PC-AT Controller*—internally mounted 

p ERSTOR ifg) products provide portability, storage and backup for 
IBM-PC, AT, XT and compatibles. 

DOS, Xenix, Multi-User and Networks 

Dual removables 12MB/12MB external $2,350.00 

SYSTEMS & SOFTWARE, INC. (602) 948-7313 
7825 East Redfield Road, Scottsdale, AZ 85260 

‘Patent Pending Copyright 1985 PerstoP® is a trademark of Systems and Software, Inc. 
IBM-PC, AT, XT, are registered trademarks of International Business Machines Corp. 

CIRCLE NO. 231 ON READER SERVICE CARD 



208 


PC TECH JOURNAL 






















INDEX TO PRODUCTS 


PC TECH JOURNAL MAY 1986 


RS# PRODUCT ADVERTISER PAGE RS# PRODUCT ADVERTISER PAGE 


116 

202 

248 

145 

240 

240 


200 

206 

212 

212 

216 

138 

241 

230 

147 

177 

165 

124 

197 

194 

236 

238 

189 


111 

179 

107 

149 

209 

141 

185 

231 

237 


154 


IBM COMPUTERS AND COMPATIBLE UNITS 

DART Advanced Logic Research ....Cover 3 

PC Bus 1-Bus-Systems .175 

PC AT IBM Corp.44-45 

Turbo PC PC’s Limited .131-133 

Tech PC, XT, AT Tech Personal Computers .70 

Tech Turbo PC, XT, AT Tech Personal Computers .70 

ACCESSORY CARDS 

PC-elevATor Applied Reasoning Corp.58 

Graphics Solution Array Technologies, Inc.78 

Turbo ACCEL 286 Earth Computers .171 

Turbo Slave Earth Computers .171 

Above Board Intel Corp.72-73 

Lexim Accelerator Board LEXIM Trading (USA) Inc.204 

286 Express Card PC Technologies .128 

Modular Graphics Card Paradise Systems, Inc.24-25 

EGA Solution Quadram Corp.84 

Data Acquisition QuaTech, Inc.194 

GPIB Interface Real Time Devices, Inc.206 

Top Board Seattle Telecom & Data, Inc.189 

JRAM-3 Tall Tree Systems .Cover 2 

JLaser Tall Tree Systems .139 

Z80H Bluestreak TLM Systems .105 

68000/68010/68020 

Coprocessor TLM Systems .107 

X-3 Multifunction Accelerator 

Card Trailridge Research, Inc.152 

MASS STORAGE HARDWARE 

9 Track Tape System Catamount Corp.204 

GIGAfile CORE International .98 

Mass Storage Systems Emerald Systems Corp.114 

TS-100 forlBM PC/XT IBEX Computer Corp.206 

Data Aquisition Card Interactive Microware, Inc.199 

The Companion Card MEGA-OMEGA Systems, Inc.48 

TC-50 and TC-PC Overland Data, Inc.206 

Perstor Systems & Software .208 

VCR Backup TLM Systems .103 

PRINTERS-PLOTTERS 

PLOT88 PLOTWORKS, Inc.185 


ALTERNATE INPUT DEVICES 

156 Softstrip System Cauzin Systems, Inc.8-9 

105 C Library/Greenleaf Functions Greenleaf Software . 174 

DATA ACQUISITION 

204 Analog Connection Strawberry Tree Computers .203 


SECURITY DEVICES 

157 Data Sentinel 
157 Software Sentinel 
173 THE BLOCK 


Rainbow Technologies .194 

Rainbow Technologies .194 

Software Security .21 


155 


COMMUNICATIONS HARDWARE 

Transet 1000 Hayes Microcomputer Products, 

Inc.20 


COMMUNICATIONS 

245 BLAST 

217 CXI Remote 
103 DaTapaSS 
160 Secret Disk 
188 Carbon Copy 
167 Remote 
166 SFT Netware 
130 ZAP 


Communications Research 

Group . 

CXI, Inc. 

DTSS, Inc. 

Lattice, Inc. 

Meridian Technology . 

Microstuf . 

Novell . 

Solution Systems . 


.142 

.109 

. 160 

.125 

.86 

Cover 4 

.6-7 

.170 


SOFTWARE FOR PROFESSIONALS 


101 Fortran Support for IBM PC, 

XT, AT Alpha Computer Service .180 

156 Softstrip System Cauzin Systems, Inc.8-9 


106 

109 

214 
203 
249 
114 

227 

102 

215 
104 

158 

133 

119 

* 

144 

125 

146 


222 

171 

180 

150 

201 

168 

127 

123 

190 

242 

183 

183 
152 

184 
192 

193 

115 


PROGRAMMER’S TOOLS 

C68 

Source Print 
Debugging Tools 
PC Probe 
Software Source 
Programming Tools 
DeSmet C 
SPF/PC Editor 
d Best Tools 
“Vitamin C” 

Periscope 

ZIPCALC 

C-Library/C-Windows 

Editcheck 

CTree 

PC-Lint 

Utilities, Editors, Functions, 
Graphics 
Concerto 
HELP/Control 
C Cross Compiler 
Productivity Tools 
Various 
UCSD Pascal 
Norton Editor 
Btrieve 

The Visible Computer 
Window Dos 
BRIEF 

Turbo Editasm 
Firstime 

Basic Prog. Tools 
C Functions Library 
TASKVIEW 
Turbo-Task 

Flash Code, Screen Sculptor, 
Flashup Windows 
Turbo Extender 
Windows for C, Windows for 
Data 


Alcyon Corp. 

Aldebaran Laboratories, Inc. . 

Answer Software . 

Atron . 

Atron . 

Blaise Computing, Inc. 

C-Ware . 

Command Technology Corp. 

Comtel ... 

Creative Programming Cons. 

Data Base Decisions . 

Dynamus Micro-Data Systems 

Inc. 

Entelekon . 

Everest Solutions, Inc. 

FairCom .. 

Gimpel Software . 


..202 
..169 
.... 22 
.... 10 
..173 
..145 
..186 
..150 
.188 
..186 
.5 

.155 

.108 

.149 

.130 

.179 


Lifeboat Associates ... 

LeBlond Software . 

MDS, Inc. 

Microtec Research . 

OPT-Tech Data Processing . 

PC Brand ....... 

Pecan Software Systems, Inc. 

Peter Norton Utilities . 

SoftCraft . 

Software Masters . 

Software of the Future, Inc. 

Solution Systems . 

Speedware . 

Spruce Technology ... 

Sterling Casde . 

Sterling Castle . 

Sunny Hill Software . 

Tangent Technologies . 


.80 

.18 

.176 

=3 

110-111 

.123 

.192 

.2 

. 161 

.182 

.16 

.198 

.198 

.134 

.134 

.181 

.184 


The Software Bottling Co. of NY .19 
Turbo Power Software .156 


Vermont Creative Software .23 


101 

247 

121 

140 

108 

no 

228 

164 

198 

199 
176 
178 


113 

187 


135 
118 
21 1 

143 

148 


112 

239 


142 


SOFTWARE UTILITIES 

Fortran Support for IBM PC, XT, 

AT Alpha Computer Service .180 

1 dir Bourbaki, Inc.14 

Copy II PC Option Board Central Point Software, Inc.148 

Scout Chalcedeony Software .197 

Fastback Fifth Generation Systems .15 

V Feature Golden Bow Systems .205 

CopyWrite Quaid Software .157 

file MASTER Schuller & Associates .193 

HD Tune-Up SofCap Inc.129 

Carousel SoftLogic Solutions .119 

Cubit SoftLogic Solutions .121 

“Sybil” SOPHCO .135 

Percent lliompson Automation .178 

GRAPHIC SOFTWARE 

Flowchart Haven Tree Software Limited .172 

Graphic Scientific Endeavors .204 

DATA BASE MANAGEMENT SOFTWARE 

DBASE m-PLUS Ashton Tate ..90-91 

Data FLEX Data Access Corp.62 

MDBS HI Micro Data Base Systems Inc.116 

Multi User R:BASE Microrim .164-165 

INFORMIX-SQL Relational Data Base Systems, 

Inc.124 

ZIM Zanthe Information, Inc.1 

OPERATING SYSTEMS 

Real-Time Multi-Tasking Exec. KADAK Products Ltd.204 

QNX Quantum Software Systems, Inc. .. 88 

MICROPROCESSORS 

PC Turbo 286E Orchid Technology .13 


LANGUAGES 

136 Prolog Compiler & Interpretor 

251 Turbo Pascal Family 

252 Turbo Prolog 

139 PROLOG i 

131 ‘Ecosoft C 
170 Utah Software 

* C-terp 

122 LISP 

132 Interactive-C 

128 F77L Lahey Fortran 

144 Lattice C 

229 Modula 2/86 

208 Aztec C86 3.4 
172 mbp COBOL 

* Quick BASIC 

181 Instant-C 

174 Fortran 

126 PROLOG 86 

129 TransLISP 

195 Better BASIC 

191 True BASIC 

221 Wizard C-Compiler 


Arity Corporation .151 

Borland International .37 

Borland International .39 

Chalcedeony Software .195 

Ecosoft, Inc.138 

Ellis Computing .137 

Gimpel Software .158 

Gold Hill Computers Inc.102 

IMPACC Associates, Inc.154 

Lahey Computer Systems, Inc.82 

Lifeboat Associates .80 

LOGITECH, Inc.101 

Manx Software Systems .40 

mbp Software & Sys. Tech., Inc. 183 

Microsoft Corp.127 

Rational Systems, Inc.120 

Ryan McFarland .162 

Solution Systems .187 

Solution Systems .187 

Summit Software Technology, 

Inc.96 

True BASIC, Inc.147 

Wizard Systems Software, Inc.206 


NETWORKING PRODUCTS 

186 3 Plus 

117 ONE STOP LAN Solution 

196 Multilink Advanced 
182 Tiara Link 

LITERATURE 

134 Ashton Tate Pubs. 

* Newsletter 

161 Prentice-Hall Books 
159 Brady Books 

OTHER SERVICES 

* Programming Software Design 

MAILORDER 

163 Mail Order 

145 Mail Order 

175 Mail Order 

220 Mail Order 

162 Mail Order 

151 Mail Order 


3 COM Corp .42-43 

Intercontinental Micro Systems . 122 

The Software Link .200 

Tiara Computer Systems, Inc.104 


Ashton Tate .68 

Microsoft Coip.28 

Prentice-Hall Books .141 

Prentice-Hall Books .163 


McGraw-Hill .33-35 


Floppy Disk Services, Inc.140 

PC^ Limited .131-133 

Programmer’s Connection .49-51 

Programmer’s Shop .46 

Programmer’s Shop .26 

Programmer’s Shop . 27 


MAY 1986 


209 





















































































































































TECH MART 


ASMLIB 


ASSEMBLY PROGRAMMING LIBRARY 

• NO ROYALTIES REQUIRED 

• Graphics - Color. Here Monochrome. EGA 

• Floating Point Trigonometry and Arithmetics 

• 8087 Supported but not required 

• ASCII to Numeric conversions 

• Formatted Output (PRINT USING) 

• Console I'O with Windowing 

• DOS Shells 

• Sound Generation 

• Plus much, much more 

ASMLIB has over 170 functions for the IBM 
PC'XT'AT or compatible under DOS 200 or 
newer Supplied in MS Assembly language 
source code on 3 DOS Diskettes with 215+ 
page reference manual v 

All.for only $149 00 ppd 

BC ASSOCIATES 

13073 Springdale Street. Suite 134 
Westminster. California 92683 
(714) 741-3015 


CIRCLE 376 ON READER SERVICE CARD 


if ANSI- 
CONSOLE" 


The Integrated Console Utility TM 
Ail the little things IBM forgot! 
for IBM—PC, XT, AT & clones. 

• 1.2 to 3.0 times faster DOS & BIOS 
screen writing 

• more escape sequences than ANSI.SYS 

• usable in any language 

• scroll recall facility 

• compatibility w/PC & AT software 

• full EGA support 

• 255 character typeahead buffer 

• increase key repeat rate 

• no scroll blink for some adaptors 

• VT 100/52 emulation 

• auto dual screen disable 

• keyboard induced breakpoints 

• window support 

• support for 50 line display 

• many many more little features 

400p Manual (w/slip case) & disk $75, or just 
Shareware disk $25. As described in EC-World 
February 86, pg. 282 and in Lotus June 85, pg. 8. 

HERSEY MICRO CONSULTING, INC. 
Box 8276E. Ann Arbor, MI 48107 
(313)994-^259 x363 VISA/MC 


CIRCLE 380 ON READER SERVICE CARD 

PERFECT COPIES 
GUARANTEED 


Why risk duplicating your important 
programs on your computer, when our 
equipment is designed solely to dupli¬ 
cate disks and verify their perfection 
100 %? 

Over 600 formats. 3 V 2 ", 5Va' and 8". 
Plus serialization, copy protection, la¬ 
beling, packaging, shrink-wrapping 
and fast, personalized service. 



Western 
Transdata line. 


DISK DUPLICATION 


1701 E. Edinger Ave. 
Building A4 

Santa Ana, California 92705 

(714) 547-3383 (Collect) 


64K-128K-256K 

DRAMS 

80287-8 ■ 80287-3 
8087-3 " 8087-2 
8087-1 


6 I T T N € R 



6L6CTRONICS 

899 SOUTH COAST HIGHWAY 
LAGUNA BEACH, CA 92651 

( 714 ) 497-6200 

CALL NOW FOR FREE CATALOG 


CIRCLE 377 ON READER SERVICE CARD 


FORTRAN 

or 

PASCAL 

PROGRAMMER? 

READ 

THIS 

AD 


s 


GRAPHICS 

• Text/graphics generics 

• 2D interactive 

• 2D plots (full support) including 
auto-scaling, auto-axis genera¬ 
tion, auto-labeling, tabular/log/ 
parametric curves, splines, bars, 
pies, you name it, we have it. 

• 3D Plots incl. 2 hidden line remov¬ 
al options—not just old-fashioned 
wire frame. 

PEN PLOTS 

• Standard plotter primitives plus 

• FULL 2D support plus 

• Interface to screen graphics, 

• Limited 3D. 

Clear and complete documentation. 

GRAFMATIC $135. 

PLOTMATIC 135. 

MICROCOMPATIBLES 

301 Prelude Drive 

Silver Spring, MD 20901 

(301) 593-0683 


Learn the 




Interactively 


Step-by-Step With 

iKtmdMhtfQ 

Introducing C is a powerful C language training system that 
combines a thorough, self-paced manual with a unique C IN¬ 
TERPRETER to provide a fast efficient method of learning C 

A COMPREHENSIVE APPROACH 
Introducing C covers all the essential elements of C The 
Interpreter utilizes standard K&R syntax and operators - lull 
structures and unions, arrays, pointer and data types It pro¬ 
vides the standard I/O library and an extended graphics library 
The package has many user oriented features including a 
screen text editor and extensive error diagnostics (includes 
dynamic trace capabilities) 

INTRODUCE YOURSELF. TODAY 
Introducing C is available (or immediate delivery System re¬ 
quirements are IBM PC. XT or AT with one disk drive and 192K 
bytes of memory Priced $125.00 Not copy protected 

TO ORDER CALL 800-922-0169 


B i COMPUTER 
I INNOVATIONS, INC. 

980 Shrewsbury Ave.. Tinton Falls. NJ 07724 • (201) 542-5920 

CIRCLE 378 ON READER SERVICE CARD 


TERMINAL 

EMULATION 


Softerm PC emulates over 30 
popular terminals including the: 

• DEC VT102, VT220 

• Data General D200, D410 

• IBM 3101-20 [block mode] 

• Hewlett-Packard 2622A 

• Honeywell VIP7801, VIP7803 
Guaranteed Compatibility 

Call for free product brief 
$195 MC-VISA-COD 
For the IBM PC/XT/AT, DG1, NEC, 
Wang PC, Tl Pro, Gridcase, Tandy 

SOFTRONICS 

7899 Lexington Dr., Ste 210 
Colorado Springs, CO 80918 
C303] 593-9540 


CIRCLE 381 ON READER SERVICE CARD 



REPRINTS AVAILABLE 


Quantity reprints of articles appearing 
in PC Tech Journal are available and 
will be prepared to meet any special 
requirements. Inquiries should be 
directed to Eileen Pfeiffer, Reprints 
Dept., Ziff-Davis Publishing Co., 1 Park 
Ave., New York, New York 10016, 
Phone 212-503-5447 


BSH 

TOURNAL 


210 


CIRCLE 382 ON READER SERVICE j3ARD 


CIRCLE 383 ON READER SERVICE CARD 


PC TECHJOURNAL 









































TECH MART 


More Users For Less Money! 
Digitrols software solution 
to multi user. 


IBM-XT. Lotus 1 -2-3. dBASE. and WordStar are trademarks ot IBM Corp. Lotus 
Development Corp . Aston-Tate. and MicroPro International, respectively 


CIRCLE 384 ON READER SERVICE CARD 


pcSHARE 
MULTI-USER O/S 

pcSHARE allows your IBM-XT/AT or compatible to 
support up to 5 users running 1 -2-3, dBASE, WordStar, 
and more on inexpensive serial CRTs. For software 
developers, pcSHARE efficiently runs compiled Basic, 
Pascal & C programs with full DOS 3.0 compatible 
record locking. 

DIGITROL COMPUTERS INC. 

440 Phillip Street 
Waterloo. Ontario, CAN. N2L 5R9 

(519) 884-4541 


422 


Communications Board 


• For IBM-PC/AT/XT and 

compatibles 

• Dual RS-422 serial interface 

• Programmable to 56k baud 

• Differential drivers to 4000 ft, 


5Va" DS/DD with hub ring and sleeve, 
factory warranteed, packaged in 50’s. 
Shipping Extra. Quantity 50,85<t each. 


The same 
low price 
our volume 
copying 
customers pay! 


75 * 

^Qty. 100 


We sell 3V2” & SVi” disks—all 
types, major brands. Call toll free: 

1 - 800 - 321-4668 

in Colorado, 303-234-0871 
VISA, MASTERCARD, OR COD ACCEPTED 


ALF 


1315-F Nelson St. 
Denver, CO 80215 


IBM PC, XT and AT programmers: 

Don't give away results of your effort! 
Don't waste your money buying 
costly fingerprinted diskettes! 

You can have your programs 
automatically protected against 
piracy! 

* Mo special training neededl 

* Mo confusing instructions! 

* Mo discouraging procedures! 



$345.00 

QUA TECH, INC. 


Mo Sales Tax on orders outside M.Y. State 



YETIWARECORP 
P.O. BOX 21152 
MID TOWN STATION 
NEW YORK N.Y. 10129 


478 E. Exchange St. Akron OH 44304 
(216) 434-3154 TLX: 5101012726 


DEALER INQUIRIES INVITED 


CIRCLE 386 ON READER SERVICE CARD 


CIRCLE 388 ON READER SERVICE CARD 



r 

rE@H 

&AT/ 


OURNA 


HDTEST formats and tests hard drives in PC, XT, 
AT, and true compatibles. Written for production 
quality control; you know it's fast and thorough. 
Menu-driven operation and context sensitive help 
windows make life easy when installing or refor¬ 
matting hard drives. Flag known bad tracks and 
do a comprehensive surface scan to find unlisted 
defects. You can modify controller and test setup, 
load/save setup and defect files. Works with WD, 
Xebec, OMTI, DTC, and Adaptec controllers. Free 
PARK included! Call for more information. $99.00 
GALLERY 6 DISTRIBUTED BY PROTO PC, INC. 
2439 FRANKLIN AVENUE ST. PAUL.MN 55114 
612-644-4660 TLX910-380-7623 


CIRCLE 387 ON READER SERVICE CARD 


TECH MART 
TECH BOOK 

THE CLASSIFIED ADVERTISER’S 
FORMULA FOR SUCCESS IN 
SELLING TO TECHNICAL 
EXPERTS IN THE IBM 
MARKETPLACE. 

FOR RATES & INFO 
CALL: (212) 503-5115 


YOUR BACK-UP 
SYSTEM 
FOR ADVANCED 
PC INFORMATION 



As an IBM PC expert, you’re the 
source of information on IBM 
PCs. 

But when you need answers, 
where do you turn? 

TURN TO PC TECH JOURNAL 
—you can depend on it every 
month for the most authoritative 
coverage of innovative appli¬ 
cations, systems design, and 
technical information. 

Save 47% off the single copy 
price of $47.40. 

One year (12 issues) only $24.97. 

Use the coupon below, or call 

1 - 800 - 852-5200 

toll-free 


8ZB50 

P.O. Box 2966 
Boulder, CO 80322 

YES! I want to subscribe to PC TECH 
JOURNAL for one year (12 issues) 
tor only $24.97 — nearly half off the 
one-year single copy price. 

Mr. /Mrs. /Ms._ 

Company__ 

Address_ 

City____ 

State_Zip_ 

Savings based on full one-year (12 issues) single copy 
price of $47.40. 

Check one: 

|~~1 Payment enclosed Q Bill me later 
Charge my: 

I I American Express Q Visa Q MasterCard 

Card No_ 

Exp. Date_ . 

Please allow 30 to 60 days for delivery of frist issue. 


TE@H 

JOURNAL 


211 


MY 1986 


































































S. n Performance rnd 
iWMim Price 


Cmpatftfc Computers 
IrnicrSim 
Husimw Software . 
( tuier$2W 


*« wn 


Exploring the PC market is a confusing, and often risky, 
endeavor. 

Lose your way, and you lose valuable time. One wrong turn, 
and you can lose lots of money. 

That’s why IBM and compatible PC users look to 
PC Magazine. PC Magazine eliminates the risk in purchasing 
decisions with comparative reviews and product evaluations 
from the PC Labs, where products are tested the way you 
use them every day. It’s the pathfinder to products that meet 
your specific needs —and those of others in your company. 

PC Magazine puts you on the trail to new applications 
with power tips and special reports that will help you 
make the most of your system. --' rffm 

PC Magazine goes one step beyond leading you 
through the microcomputing jungle. PC leads ^ 

you out of the jungle to the PC environment ^ ■ 

that meets your daily demands. M • 

Subscribe now and save up to 50%.11 1 \ $5 
For fast service, call toll-free | l \ y 
Hk 1-800-852-5200 ’ JM 

IVm I —. 8ZC18 jM 


For product reviews 
you can use. 























TECH BOOK 


Accessories/Supplies 


•• SOFTWARE PUBLISHING •• 

GDS offers a wide variety of services that will help 
get your software to the market. Address your 
needs with GDS. 

• IBM style cloth/vinyl 3-ring binders/slips 

• Labels, sleeves, disk pages... 

• Disk duplication with 100% verification 

• Bulk diskettes 

• Shrink wrapping and assembly 

• Quick turnaround 

A well-packaged product can make the differ¬ 
ence in making a sale. Call us NOW. VISA/MC 
Glenco Development Systems 
3920 North Ridge Avenue 
Arlington Heights, IL 60004 
(312)392-2492 


Business 

Opportunities 


INCORPORATE! 

‘Save Taxes! 

‘Protect Your assets! 

‘Free Booklet! 

‘Free Forms! 

‘Save $— Do It Yourself! 

‘No Legal Fees! 

WRITE OR CALL TOLL-FREE TODAY! 

HARVARD BUSINESS SERVICES, INC. 

3151 Summerset Rd. 

Wilmington, DE19810 
800-345-CORP 

Personal Computer Owners 
CAN EARN $1,000 TO $5,000 

monthly selling simple services performed by 
their computer. Work at home-in spare time. Get 
free list of 100 best services to offer. Write: 
C.I.L.B.Q. 

PO Box 60369 

San Diego, CA 92106-8369 


Hardware/ Add-on 
Boards 


SPEECH SYNTHESIS 

SynPhonix: TRUE Unlimited Speech Synthesiz¬ 
er for IBM-PC/XT/AT/jr & compatibles. This low 
power short card includes an SSi263 speech 
chip, amplifier and speaker. Software includes 
Text-to-Speech, Phonetic Editor, Talking Clock 
& demos. Can be programmed with BASIC and 
other languages. Prices start below $200. 

SvnPhonix 

Electronic Speech Articulator 

Artie Technologies 
2234 Star Court 

Auburn Heights, Michigan 48057 
(313)852-8344 

RS-232/RS-422 Communications 

Versatile communications and I/O boards. 

—Four port RS-232 with DOS drivers.$349 

—RS-422/485-serial interface.$149 

—RS-232/422 with 24 parallel I/O.$199 

—RS-422 synchronous with DMA.$299 

—delivery from stock 
—Custom designs available 



Adams Incorporated 
P.O. Box 17525 
Greenville, SC 29606 
(803)297-9630 

FIXED DISK BIOS/BOOT 

FiXT boots from most popular Hard Disks—DA- 
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds 
XT-like BIOS interface to your disk for PC. Se¬ 
curity, multiple volumes, removable media sup¬ 
port optional. No-slot plug-in installation. Specify 
controller and computer with order. $80-$95. Add 
$3 shpg., CA tax. 



GOLDEN BOW SYSTEMS 
2870 Fifth Avenue 
Suite 201 

San Diego, CA 92103 
(619)298-9349 


NEW!!! FOR THE OLD 64K PC 

PC MultiPak MAX 576K Multifunction Card. Ex¬ 
pand your old 64K IBM to 640K. Includes 576K 
memory, parallel port, serial port, clock, ram- 
disk & ramspool software, 2 year warranty.'$449 
with 576K installed. Trade in discounts avail¬ 
able for your current memory card Mfg. in USA. 
For more information call or write 
Indigo Data Systems, Inc. 

P.O. Box 57888 
Webster, TX 77598 
(713)488-8186 


Hardware/Disk 

Drives 


8 INCH DISKETTE SYSTEM 

Read, write and format diskettes from IBM 
mainframes, minicomputers, data entry equip¬ 
ment, etc. Complete easy to use software han¬ 
dles EBCDIC conversion. Can read and write CP/ 
M 8-inch diskettes (many formats). You also can 
use 8-inch drives for PCDOS files; 1200 KB per 
diskette! $1150 complete. 

MicroTech Exports 
223 Forest Avenue 
Palo Alto, CA 94301 
(415)324-9114 


Hardware/ 

Peripherals 


SCSI-PC HOST ADAPTER 

Plug & play installation for SCSI Optical/Hard 
disk and tape peripherals. Wide selection of SCSI 
peripherals selectable by manufacturer and 
model No. via menu window. Absolutely NO driver 
software need be written by the user. Price is 
$149. for board, SCSI bios prom and floppy 
based configuration data. 

Advanced Storage Concepts, Inc. 

9660 Hillcroft #325 
Houston, TX 77096 
1-800-423-9175(713)729-6388 

640K YOUR MOTHERBOARD!! 

Put 640K of RAM on Your Motherboard! NO 
SLOT! NO ADD-ON BOARDS!—NO SOLDER¬ 
ING! Complete w/ALL Hardware, Memory Chips 
and Instructions. Easy PLUG-IN Installation. Avail 
for: IBM XT, IBM Portable, COMPAQ & COMPAQ 
PLUS Portables. Only $144.95 + $5 S/H, Spec¬ 
ify computer when ordering. Dir. inquiries in¬ 
vited. CK/MO/VISA/MC 
J S & J Software 
1281 S. King St. Suite 6A 
Honolulu, Hawaii 96814 
24/hr Orders: (800) 821-5226 ext. 435 

BAR CODE READERS 

• IBM PC/XT, AT Keyboard or RS-232 interface 

• No programming required for IBM models 

• Auto-recognition and single code decoding 

• Reads dot matrix & preprinted labels 

• Reads Code 39, UPC A/E, Codabar & 12 of 5 

• $635 list, units in stock, 2 year warranty 

• Bar code printing software, call for info. 
PERCON, Inc. 

2190 W. 11th 
Eugene, OR 97402 
(503)344-1189 


RATES AND INFORMATION 

Standard listings consist of a bold lead line (25 characters maximum); 7 
lines of body copy (45 characters per line); 4 lines for company name, 
address and telephone number. $140 per insertion—3 issue minimum. 
Additional charge for extra lines and company logos. Prepayment and 
frequency discounts available. American Express, MasterCard, Visa 
accepted. Copy subject to publishers approval. Send typewritten or printed 
copy, reproducible logo art (if applicable) and remittance to Kathryn 
Cumberlander, Classified Sales Manager, Ziff-Davis Publishing Company, 
One Park Avenue, New York, NY 10016. For additional information, 
assistance, or to place an order by phone, call collect (212) 503-5115. 


TURBO START YOUR PC!!! 

FOR IBM PC’s ONLY!! The PC-INMATE, a Firm¬ 
ware ROM Module for the IBM-PCM! Features: 
BOOT within 10 SECONDS!!! BREAK the 640K 
BARRIER!! Access up to 704K of RAM!!! (Lotus, 
DOS, etc.) SCREEN RELIEF-protects your mon¬ 
itor, and MORE!! Easily PLUGS IN-NO SLOT! Only 
$49.95+$3 S/H. Dir. inquiries accepted CK/MO/ 
VISA/MC. 



JS&J Software 
1281 S. King St. Suite 6A 
Honolulu, HI 96814 

24 hr Orders Only: (800) 821-5226 ext. 435 

IBM PC/XT/AT.SPEEDUP 

‘OVERTRUSTER: Boots the performance of PC 
and XT by 280%! 100% software compatible, is 
switchable between 4.77 and 7.38Mhz. $195. 
‘SPEEDSWITCHER: This is an economical 6 
speed switch (4-11 Mhz) for AT’s. $89 

‘XCELEX: Automatic 5 speed switch (6-12Mhz) 
This unit will switch on the fly and works with 
ALL IBM AT’s including the new Models with 
speed limiting Rom Bios. $149. 

DATA MANAGEMENT SYSTEMS, INC. 

1525 Hickory St. 

Salina, KS 67401 

ORDER HOTLINE (913) 823-6440 

CP/M & 1.2Mb AT ON PC 

With MULTI-DISK and UniForm-PC use 3.5,5.25, 
and 8-inch single and double density CP/M for¬ 
mat as DOS diskettes on your IBM PC or XT. 
Many MS-DOS formats also supported includ¬ 
ing IBM AT 1.2 Mb, HP-150 and Data General 1. 
Over 200 formats. Both MULTI-DISK and Uni- 
form-PC for $225. Disk drives & adapter cable 
also available. 

P S Engineering 

P.O. Box 51068 

San Jose, CA 95151-5068 

1-800-369-2398; 1-800-423-7171 in CA. 


Hardware/Security 


STILL WAITING? INSECURE? 

QUICKON—Instant Turn-on module—$69.95. 
LOCKIT I—Password Boot-Up module— 
$129.95. User selectable PW & Boot-only-from- 
HD mode. PC RESET—Reboot w/o cycling 
power—$21.95. Easy to install, No slot, specify 
PC/XT/AT LOCKIT II—PW protection for sub¬ 
directories, for DOS 2.0 & up—$79.95. MC/VISA 
Security Microsystems Consultants 
16 Flagg Place Suite 102 TJ 
Staten Island, NY 10304 
(718)667-1019 


MAY 1986 


213 
































TECH BOOK 


Software/Bar 

Coding 


BARCODE PRINTING/READERS 

Programs $49-$299. Readers—$325 up. PRINT 
Bar Codes on PC and Epson/Okidata or IBM 
Proprinter—Code 39,12of5, UPC, MSI, DOD- 
LOGMARS, AIAG. Graphics chs up to 1". Labels, 
Catalogs from files, Subroutines for BASIC, Cobol, 
Clipper, Turbo, Pascal, C, dBASE III Plus. 
Worthington Data Solutions 
130 Crespi Court 
Santa Cruz, CA 95060 
(408)458-9938 


Software/Business 


>timeslips< 

Pop-up stopwatch screens allow time sheet time 
& expense entry or stopwatch tracking of pro¬ 
grammer, compilation, assembly, job & online 
time. • Create professional bills: 114 formats with 
auto aging, flat fee, & more. • Generates re¬ 
ports, graphs, pie charts, mailing labels & IRS 
usage log. • Projected completion time entry al¬ 
lows instant analysis of project & budget status. 

• Not copy protected. • $99.95 + $7.00 s/h. 

►timeslips^ 

North Edge Software Corp. 

PO. Box 286 

Hamilton, MA 1)1936 

(617)468-7358,1-800-225-5669 

The Andsor Collection 

Unique concepts: creates complete, self- 
contained, window-based data management 
environment in one DOS file. Simplifies every¬ 
thing. Combine functions to create your own so¬ 
lutions in any application: calculations, database 
management, modeling, text processing, charts, 
data analysis, statistics, reports, labels, forms, 
presentations, mail-merge, etc. Simple enough 
for a PCjr, sophisticated enough for a PC AT. Su¬ 
perb, 400 page hard-cover manual, with many 
examples. From simple calculations, files, in¬ 
quiries, to complex models, data structures, re¬ 
ports: when your favorite data manager/ 
spreadsheet/word processor/integrated sys¬ 
tem cannot provide the solution you need, re¬ 
member The Andsor Collection. 60 day money- 
back guarantee. US$95 + $5 s&h. Visa/MC/ 
AmEx/Chk/MO/COD. Call or write now to order. 
IBM/PC/XT/AT/PCjr, 128K, one drive or hard 
disk, monochrome and/or color monitor, DOS 
2.0+. Not copy-protected. 

) 

z77ie , (/ic/sor 
Go//ectio/i .. 

k r- 

Andsor Research Inc. 

181 University Avenue, Suite 1202 
Toronto, Ontario, Canada M5H 3M7 
(416)364-8423 


Software/Compiler 


DeSmet-C-$109 

Full K&R C compiler, linker, librarian, fullscreen 
editor, profiler, overlays, example software, 140 
page manual. BOTH 8087 and floating point li¬ 
braries. OUTSTANDING PRICE/PERFOR¬ 
MANCE. Consistently rated 1st or 2nd in 
published benchmarks. PC/MSDOS. No royal¬ 
ties on generated code. Newsletter. Updates $20 
ea. $109 shipping included. Symbolic (C source 
level). Debugger Option $50 extra. C Compiler 
for the Macintosh $150. 

C WARE CORPORATION 
Dept. PCTJ 
PO. Box C 

Sunnyvale, CA 94087 
(408)720-9696 

C Compilers for MC 680X0 
Now on IBM PC 

Use your IBM PC XT to create fast compact code 
optimized for the Motorola 68000, 68010, and 
68020/68881. Complete C development envi¬ 
ronment including assembler, pre-processor, 
linking and downline loaders, libraries and util¬ 
ities. Priced under $1000 on IBM PC. Also avail¬ 
able for Motorola/VERSAdos, VAX/UNIX, and 
VAX/VMS. 


fincuorv 

~7l I I V M CORPORATION 


Alcyon Corporation 
5010Shoreham Place 
San Diego, CA 92122 
(619)587-1155 


Software/ 

Communications 


COMM. PROTOCOL ANALYZER 

Why pay thousands for a protocol analyzer or 
$250 for a RS232 breakout box? Field proven 
APA120 software converts a PC. Full function 
breakout box with LED’s switches and jumpers 
plus line adapter for analyzer. Trigger strings, 
control line monitoring and more. For serial, 
async, 9600 baud or less. $495. 

BURR-BROWN® 



Burr-Brown Corporation 
P.O. Box 11400 
Tucson, AZ 85734 
(602)299-2662 


PC SERIAL DATA ANALYZER 

Use your IBM PC or compatible to analyze data 
streams between two serial devices (up to 9600 
BAUD). Two windows display each devices trans 
mition in ASCII or HEX. PC can also act as a ter¬ 
minal for either device. Invaluable tool for de¬ 
bugging serial interfaces. Disk & manual $150. 
Triple C Software 
2897 SW 13th St. 

Fort Lauderdale, FL 33312 
(305)583-0687 

Programmable Emulator 

Automate your communications. “Hooks” to 
operate communications functions automati¬ 
cally thru your own programs written in “C” Basic, 
Pascal. Supports PC to PC to mainframe link up. 
Memory resident mode, simultaneous COM1 and 
COM2, X-modem, full featured, VT100 and 13 
other terminals. Bluestreak plus $39.95. 
Lang-Allan, Inc. 

2457 Aloma Ave. Suite B 
Winter Park, FL 32792 
(800) 541-2255 Tone 677-1539 


Software/ 
Development Tools 


COLOR, CURSOR CONTROL 

DATE/TIME, KEYBOARD, PEEK, POKE, COM¬ 
MAND LINE ACCESS, and more available for 
IBM/MS FORTRAN, IBM/MS PASCAL, and GE¬ 
NERIC (MS) BASIC on PC/DOS and many MS/ 
DOS machines. No redistribution fees. $47 U.S. 
MN residents add 6% sales tax. BARTSUBS by 
BARTSOFT 

3210 Lake Shore Boulevard 
Wayzata, MN 55391 
(612)473-4032 

REVISION CONTROL SYSTEM 

The Software Revision Management System™ 
stores all versions of source/documentation in 
a single ASCII file. Allows retrieval of any version 
of source and application of changes, while re¬ 
cording when, why and where changes were 
made with no duplication of common code. MS/ 
PC-DOS 2.0. New version $125. (MN+6%.) MC/ 
Visa. 

QUILT™ COMPUTING 
7048 Stratford Rd. 

Woodbury, Minnesota 55125 
(612)739-4650 

ROMable CODE on PC! 

PCLOCATE allows PC users to develop ROM- 
based software from MS-DOS “Exe” files. The 
user specifies the physical location of all seg¬ 
ments. Output files are compatible with most 
PROM programmers. PCLOCATE supports the 
8086,8088,80186,80188, and 80286 proces¬ 
sors. MC/VISA. 

ALDIA SYSTEMS INCORPORATED 
P.O. Box 37634 
Phoenix, AZ 85069 
(602)866-1786 


REALIA COBOL SITES 

REALFORM is the Screen Handler you have been 
looking for. It features interactive screen design, 
an on-line forms editor, relief of cursor control, 
expedites screen generation, supports numer¬ 
ous data field types, is easy to use and offers 
powerful data entry functionality. $395. US. 
CHARANDON COMPUTER SYSTEMS INC. 

1600 Laperriere Avenue 
Ottawa, Ontario, Canada K1Z 8P5 
(613)729-3003 

INSIDE-DISASSEMBLER 

Use your IBM-PC, XT, and AT to disassemble all 
8088/8086, 80186, 80286, 8087, and 80287 
software. INSIDE writes source assembly code 
to disk; produces complete cross-reference ta¬ 
ble of addresses & values; many other features. 
Command driven, simple to use. Only $49.95 
plus $3 s/h (IA res. add 4% tax) 

(^ 

■ DisAssembler 

BLACKRIDGE CORPORATION 
P.O. Box 385 
Bettendorf, IA 52722 
(319)355-4465 

BETTERTOOLS FOR BETTERBASIC 

BetterTOOLSr 100 procedures & functions that 
speed BetterBASIC™ development. Sorting, 
scrolling, extended math functions, video rou¬ 
tines, disk directories, formatted screen display, 
on-line error descr., input w/full editing & ex¬ 
tended code trapping, much more. Better- 
TOOLS™ w/source & manual, $89. Write: 
Software Associates 
6220 W. Airport Blvd. 

Houston, TX 77035 

(713) 726-0706 

FIRMWARE PRODUCTION ON PC 

LINK&LOCATE enables PC users to produce 
ROM-based firmware for 8086/87/186 from ob¬ 
ject files generated by C, PL/M compilers & 
MASM. Provides full control of segments place¬ 
ment anywhere in memory. Supports output of 
INTEL hex file for PROM programmer, absolute 
object file for symbolic debugger & ICE, and MS- 
DOS EXE fifle. Includes an INTEL compatible 
linker, locator, librarian and hex formatters. $350. 
Systems & Software, Inc. 

3303 Harbor Blvd., C11 
Costa Mesa, CA 92626 

(714) 241-8650 

REPORT WRITER 

All-language qPLEX-IV lets you select or sort your 

own special forms, reports, labels, bar graphs 

or queries. Exports your reports to spreadsheets 

and wordprocessors. Reads Basic, Assembler, 

Pascal, C, Fortran, Cobol, ASCII, Data Base 

Managers and more. Dealer demos available. 

MS-DOS, XENIX, UNIX 

Snow Software Corporation 

3330 Fisher Road 

Clearwater, FL 33519 

(813)784-8899 


214 


PC TECH JOURNAL 






























TECH BOOK 


C-INDEX 

C-INDEX is a state-of-the-art data management 
library for C. Designed for serious product de¬ 
velopment. No Royalties. B+Tree, variable length 
records, multiple keys, and transportable source 
code. Call for our free info packet. 

C-INDEX/PRO $195 Partial Source 

C-INDEX/PLUS $395 Full Source 

TRIO SYSTEMS 
2210 WilshireBlvd. Suite 289 
Santa Monica, CA 90403 
213-394-0796 

FLOWCHARTS BY PROFLO 

The fast, friendly, flowchart drawing program for 
the software professional. PROFLO speeds soft¬ 
ware development and reduces documentation 
costs. Lets you create, edit, and print clear, pre¬ 
cise flowcharts, quickly and easily. Requires IBM 
PC (or clone) with DOS, 128K, graphics monitor 
& graphics printer. Program & Documentation 
$49.94. Demo Disk $10.00. 


y- 


Star Systems 
28 Topstone Drive 
Bethel, CT 06801 
(203)744-0546 

Exceptions/Tasks For C 

Add Ada-type exceptions and simplified tasking 
to your C programs. Implemented for lattice C 
l.xx and 2.xx, all four memory models. Small, 
efficient, OK to copy if not for resale. Documen¬ 
tation and package on diskette, $5.95 postpaid. 
Plain Vanilla Corporation 
P.O. Box 4493 
San Diego, CA 92104 

MODULA-2 SCREEN TOOLS 

REPERTOIRE: a unique high-performance screen 
display system with source, plus a multi-win¬ 
dow editor to include in your programs: $64. Not 
a code generator. Full input checking, help, and 
branching logic. DMA video, string, list, and 
windowing tools. Logitech & ITC versions. FREE 
documentation on req. 

PMI 

4536 SE 50th 

Portland, OR 97206 (503) 293-7706 
MCI Mail: 269-1013; CompuServe: 74706,262 

SOURCE CODE LIBRARY SYSTEM 

TL!B' M stores ALL versions of your source in ONE 
compact library file, even with hundreds of re¬ 
visions. Updates ("deltas”) faster than many 
editors load & save files, 5-7 times faster than 
Unix SCCS. Date & comments for each version, 
easy retrieval. LAN-shared libraries with PC 
Network. DOS 2.x/3.x $99.95 $3 s/h VISA/MC. 
Burton Systems Software 
P.O. Box 4156 
Cary, NC 27511-4156 
(919)469-3068 


MODULAtodBASE.$94.50 

Now the structural clarity and compiled effi¬ 
ciency of Logitech Modula 2 are available to users 
of dBASE3 files. ModBase is a complete inter¬ 
face including source, examples and utilities. 
ModBase with Logitech compiler $175. Add 
$5.00 shipping. 

Fletcher Software 
1742 Second Avenue, #275 
New York, N.Y. 10128 
(212)289-0328 

GENSCREEN FOR MS-COBOL 

Cobol Source Code Generator for generating the 
screen section and data division cobol source 
code for Microsoft and IBM PC cobol. Screen 
Image Text files are run through GENSCREEN to 
produce all of the source code for your screen in 
less than a minute. Super fast programmer pro¬ 
ductivity tool $69.99. 

Personal Computer Development Corporation 
P.O. Box 8556 
Warwick, R.l. 02888-8556 
(401)333-8704 


FASTSCREEN FOR TURBO 
PASCAL 

FASTSCREEN adds fast screen output capabil¬ 
ity to your Turbo Pascal programs. Display a full 
screen or window almost instantly. Read a full 
screen or window containing multiple input fields 
with a single procedure call. FAST¬ 
SCREEN makes it easy to give your programs im¬ 
pressive speed and a clean, professional look, 
inline assembler and Pascal routines, all source 
included. IBM PC/XT/AT and DOS. Color and 
monochrome. $29.95 from Technisoft 
Technisoft 

1710 Allied Street Suite 37 
Charlottesville, VA 22901 
804-979-6464 

ScreenWorks™ $50 

Awesome screen management! Full screen panel 
editor & designer. Design your most complex 
screen in 10 min. Supports C & Turbo Pascal. 
Screen handler written assembler as BIOS ext'n; 
50+ library routines give full control of screen, 
fields, colors & keybd. Developer license avail. 
256K, all monitors, no snow. 30 day $back 
guarantee, $50 chk/VISA/MC. 

Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

TURBO PASCAL GENERATOR 

GTP APPLICATION DEVELOPMENT SYSTEM, 
version 2. Builds complete, working application 
systems. You give it spec’s, it writes error-free 
code. 

Indexed Data Bases Multiple Screens 
Context Sensitive Memory-mapped 
Help Video 

Global/Phonetic Full Keyboard Supt 
Search 

Easy to Use Price $150.00 Visa/MC, ck, MO 
AEF 

P.O. Box 928 
Katy, TX 77492 
(713)391-8570 


SCREENWARE UTILITIES 

FAST ELEGANT SCREEN CREATIONS FOR PC 
ASSEMBLY ROUTINES. Make new or edit exist¬ 
ing screens, even those CAPTURED in OTHER 
pgms BY OUR PGM! Supports ALL color/char/ 
att & monitors. Pop-up menus, help & file man¬ 
agement. Creates binary & assembler-ready 
ASCII source files. Easy to link to main pgm & 
invokes w/little code. KBD template, charts, 50pg 
Man, PC/AT-128K, ONLY $27! 

Crosswinds Software 
8621 Windjammer Drive, Suite M-56 
Raleigh, NC 27609 
(919)847-1812 

FORTRAN LIBRARY 

A library of over 70 assembly language subrou¬ 
tines complementing MS Fortran compiler. Full 
range of powerful features, increasing the scope 
of programming possibilities. Control screen, 
keyboard, communications; add new language 
commands. Library includes subroutines for to¬ 
tal control of HP LaserJet printer. Institutional 
purchase orders $99.95, personal checks $49.95 
s/h $5. 

Psychometric Associates 
3434 West Tulsa Street 
Chandler, Arizona 85226 

SOURCE DEBUGGER FOR 
LATTICE C 

The MSD DeBugger ,M is the last, and perhaps 
final, word in programming assistance for Lat¬ 
tice C users. C Debugger produces a high-level 
view of C programs via function names line 
numbers, variable names and C data types, plus 
a low-level view of machine addresses and in¬ 
structions for testing assembler language func¬ 
tions. More features include: 

• All documentation is prepared for 
programmers. 

• Online help screen throughout the process. 

• Capability to single step through your program. 

• Set break points, examine registers and 
variables. 

$165.00+ $3.50 shipping VISA/MC 


Cdebugger 

a high level language debugger 


MSD 

2141/2 West Main St. 

St. Charles, IL 60174 
(312)377-5151 

THE-SCREEN GENERATOR 

Powerful Screen Designer and Memory Resi¬ 
dent Screen Manager eliminates tedious screen 
management tasks from your program. Easy 
access to Screen Manager from your applica¬ 
tion. Uses disk screen libraries. No Royalties, Not 
Copy Protected. Uses with FORTRAN, C. BASIC, 
Turbo-PASCAL, BetterBASIC or Asm (Call if not 
listed). $125 

The West Chester Group 
P.O. Box 1304 
West Chester, PA 19380 
(215)644-4206 



Software/Edit 


Lil’Jake 

“The WORLD’S GREATEST Editor." That’s what 
our users say about Lil’Jake. 

‘Edit multiple files 
‘DOS commands 

‘Comprehensive (terse/verbose) online help 
‘Programming support BASIC, DOS & BIOS 
‘MACRO facility 

We’re so sure you’ll like it, we want to send you 
a copy for a free 60-day evaluation. $49.95 + 
s/h To order: Write or CALL NOW! 

Fooks Matthewson Company 
P.O. Box 2424 (Oper-28) 

Arlington, VA 22202 
(703)684-8284 


Software/ 

Engineering 


ARTWORK® 

Printed-circuit artwork editor for double-sided 
boards up to 10" by 16", runs on an IBM-PC. Color 
display allows complete interactive control over 
the placement and routing process. 2X artwork 
can be made on a dot-matrix printer or pen-and- 
ink plotter, $895. Write or call for a brochure. 



WIXTKK 


WINTEK Corporation 
1801 South Street 
Lafayette, IN 47904-2993 
(317)742-8428 

METAL FABRICATORS 

PC/Cutlist takes input from your bill of mate¬ 
rial—Detail drawing and calculates the best 
cutting combination for any length stock and 
prints a shop ready cutting list and scrap report. 
Also an optimization feature finds best mult length 
for mill orders. Price $300. Demo Disk $25.00 
THE JOSEPH ALBERT CO. 

P.O. Box 611 

Blue Island, Illinois 60406 
(312)349-9032 

PC/8087 ARRAY PROCESSING 

The VECTOR87 library is written in assembler, 
includes 60 subroutines to speed scientific pro¬ 
grams by 2 to 18x. FFT, vector operations, con¬ 
volution, etc. 1K real FFT takes 1.2 second. Also 
Fortran 2D FFT, linear equation solvers. Ver¬ 
sions for Lattice C, MS C, IBM Pro Fortran, MS 
Fortran. $120 each w/source. Check/PO/VISA. 
VECTORPLEX Data Systems Ltd. 

P.O. Box 138 Station M 

Calgary, Alberta, Canada T2P 2H6 

(403)248-1250 


MAY 1986 


215 





























TECH BOOK 


CREATE PCB’s EASILY 

Easily create double-sided printed circuit board 
artwork of up to 21" square using PC-Layout on 
an IBM-PC. the artwork is created using a color 
artwork editor, the final artwork, solder mask and 
silk-screen (text) is produced using either a printer 
or a plotter. Price $745. Demo disk/manual $45. 
Demo disk credited to final purchase. 

Draco Technology 

7210 Jordan Ave., Suite D50 

Canoga Park, CA 91303 

(800) 235-6646 ext. 646 (outside CA) 

(800) 235-6647 QXt. 646 (CA only) 


Software/Financial 


IRRworks™ $25 

Are YOU using a spreadsheet for IRR’s? Full 
screen menu and pop-up windows make IRR & 
PV simple. Fast computation, up to 360 uneven 
periods. Easy input: steps, % growth, replica¬ 
tion. FRACTIONAL PERIODS! Automatic rate 
conversion. Name & save cases; simple case 
management. 256K, color/mono, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software, Inc 
211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

Homeworks $25 

Home-buyers, realtors, lawyers, bankers: Com¬ 
pute mortgage payments & totals, any payment 
period. DETERMINE $$$ YOU CAN BORROW. 
Print detailed amortization schedules & yearly 
totals. Name & save cases; simple case mgt. Full 
screen, windows, help, fast, 196K, color/mono, 
30 day $back guar’tee, $25 chk/MC/VISA. 
Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, N.Y. 10017 
(800)848-8909 


Software/ General 


PUBLIC DOMAIN SOFTWARE IN C 

Over 60 volumes of public domain software in 
CP/M & MS-DOS formats. 

• editors & compilers 

• text formatters 

• communications packages 

• many UNIX-like tools 
Write or call for more details. 

G Users' 
Group 

THE C USERS’GROUP 
PO. Box 97 

McPherson, KS 67460 
(316)241-1065 


Software/Graphics 


TEKTRONIX 4010 EMULATION 

High resolution screen/printer graphics for the 
IBM PC. Full interactive capabilities with file 
transfer and cross-hair control. Utilizes PLOT 10, 
protocols. OFF-line review of graphics output. 
Supports IBM color/graphic or Hercules cards. 
Easy to use 4010 emulation at an affordable price. 
$80.00. Demo disk $5. 

Technological Systems Group 
5044 Haley Court 
Lilburn.GA 30247 
(404)923-4980 

GRAPHICS LIB FORTECMAR 

TEK-MAR lets you do high-res graphics on your 
TECMAR Graphics Master. TEK-MAR is a li¬ 
brary for use with MS Fortran. Features win¬ 
dowing, viewporting, clipping, axis rotation. 
Similar to Tektronix graphics. Includes screen 
dump/restore, Epson screen print, support for 
Hewlett Packard, Western Graphtec plotter. Re¬ 
quires MS-FORT 3.31,320K, GMDEV.SYS (5.2). 

Price- Q5 

ADVANCED SYSTEMS CONSULTANTS 
21115 Devonshire Street, Suite 329 
Chatsworth, CA 91311 
(818)407-1059 

SuperCAD a2.5D system. 

Developed by a Columbia University graduate, 
it’s very fast and powerful, supporting all the most 
advanced I/O devicesand the 8087. It works like 
a screen oriented word processor for graphic 
primitives and drawings. Free 1 yr. update ser¬ 
vice available in the US. Send $1500 by check, 
L/C or P/O. Dealers Welcome! 

CAD-CAM-IISRL 
Via Fornaci 1 
06034 Foligno ITALY 
Tel: (0742) 20921 

PLOTTER SOFTWARE 

Presentation aides (word charts) are quick and 
easy to prepare using the DGISIGNMAKER. With 
the DGI SIGNMAKER, your PC and plotter (IBM, 
HP, HI, Epson) your overheads, text slides or signs 
will have that professional look. $75. For addi¬ 
tional information, ordering or to check compat¬ 
ibility contact: 

Decision Graphics, Inc. 

PO. Box 2776 
Littleton, CO 80161 
303-796-0341 

MetaWINDOW™ 

Advanced graphics toolkit provides Xerox Star/ 
Apple Macintosh style graphics on your IBM PC. 
Supports most popular graphics cards. Allows 
you to create pop-up menus, windows & icons; 
use proportionally spaced fonts; rubberband & 
drag lines, text or bitmap images; supports 
mouse-cursor tracking. Tightly optimized for use 
with Turbo Pascal, IBM Pascal, C, Fortran & 
Compiled Basic 

METAGRAPHICS SOFTWARE CORP. 

4574 Scotts Valley Drive 
Scotts Valley, CA 95066 
(408)438-5352 


TERMINAL EMULATION 

For under $100, MicroPlot’s PC-Plot 111 graph¬ 
ics emulator software package will enable your 
IBM PC and compatibles to appear to a main¬ 
frame as a DEC VT-100/VT-52, a Retrographics 
VT-640, a Tektronix 4010/4014 or a partial Tek¬ 
tronix 4027. Call 1-800-338-0333, In Ohio 
1-800-242-0333. Operator ID.: 766-8501 
MicroPlot 

659-H Park Meadow Road 
Westerville, OH 43081 
(614)882-4786 

SCIENTIFIC DATA PLOTTING 

SCI-GRAF creates graphs up to 1680 x 1712 dots 
(over 3 million pixels!) on Epson or IBM graphics 
printers. Supports log scaling, overlays, point¬ 
labeling, legend creation, batch mode, wide- 
carriage printers, and color graphs on a JX-80. 
Requires DOS 2 or 3, 256K. No credit cards. 
$99.95 

Microcomputer Systems Consultants (MSC) 
27-P Forest Avenue 
Port Jefferson Station, NY 11776 
(516)928-7493 


Software/Languages 


EASY WAY TO MASTER DOS! 

New handbook shows how, why, and when to 
use all 44 PC & MS DOS commands quickly and 
easily! Lively hands-on tutorial makes learning 
fun, for a change. Covers basic thru advanced 
topics. All versions up to 3.1. Lots of practical 
examples. 221 pages only $15.95 at book¬ 
stores, or send check + $1.00 S&H to: 

LITTLE, BROWN & COMPANY PUBLISHERS 
200 West Street, CodeT-368121 
Waltham, MA 02254 
1 -800-343-9204 (credit cards) 

FREE 8088 TUTOR Monitor 

Learn 8088 assembly language using the new 
book, IBM PC-8088 Assembly Language Pro¬ 
gramming, by Richard E. Haskell. Order the book 
for $25 plus $3 s/h and get the powerful TUTOR 
monitor software free. Load and examine any disk 
file, disassemble any 8088 code, debug EXE files. 
Satisfaction guaranteed. 

REHI Books 

54 N. Adams, Suite 130-T 
Rochester Hills, Ml 48063 
(313)853-1941 


Software/Operating 

Systems 


UN/EMULATOR BY WAWA 

Run CPM on your PC or clone at MACHINE 
SPEED. UN/EMULATOR runs native 8080 code 
and increases DOS performance by 10%. We 
include disk conversion software, terminal em¬ 
ulators, and serial transfer utility. Available in 5 
MHz and 8 MHz. Starting at $99.95 plus $5 S&H. 
Dealer inquiries welcome. Call or write: 
WEITZMAN AND WOOD ASSOCIATES 
580 N.W. 99th Way 
Pembroke Pines, FL 33024 
(305)432-8025 


Software/Scientific 


SPARSE/DENSE MATRIX 

MATRIX: Does to matrix what TK! solver did for 
numbers. Solves lin/nonlin/diff eqns. Program¬ 
mable Matrix functions. $59.95 
SPARSEPACK: Turbo Pascal source code for 
user-transparent Sparse Matrix handling. Over¬ 
come 64K barrier and more. $49.95. VISA/MC 
call 1-800-835-2246 ext. 80. 

SoftTech Inc. 

18505 W. 8 mile. 

Detroit, Ml 48219 
1-313-544-8544 


Software/Security 


SECURE AT/XT/PC 

Control system access, data access! FiXT/S. 
Control system boot for most popular XT/PC hard 
disk controllers. Vfeature for AT-and-XT-com- 
patible HD controllers segments hard disk by 
volumes, controls access with passwords, sup¬ 
ports hard disk expansion. $80 $120+$3 shpg. 
plus CA tax. 



Golden Bow Systems 
2870 Fifth Ave. Suite 201 
San Diego, CA 92103 
(619)298-9349 

BITLOCK® SECURITY 

Proven effectiveness of powerful multilayered 
security on IBM PC/XT/AT Compatibles. TRS- 
80, Apple & Commodore computers using rapid 
decryption algorithms. Total transarency after 
easy attachment of small reliable security de¬ 
vice to external port. Inexpensive, yet has sur¬ 
vived piracy attempts > 3% years. 
MICROCOMPUTER APPLICATIONS 
7805 S. Windmere Circle 
Littleton, CO 80120 
(303) 798-7683 or 922-6410 

SMART COPY PROTECTION 

Attention Software Developers: 

In the past, Copy-Protecting your program or 
system meant inconvenience to the end-user, 
complicated production techniques and a lot of 
added expense per product copy. Our new EV- 
ERLOCK product has solved these problems. For 
IBM PC/XT/AT and compatibles. Call us. 
Az-Tech Software, Inc. 

426 Grandview 
Richmond, MO 64085 
(816)776-8153 


216 


PC TECH JOURNAL 

























TECH BOOK 


SIDEVIEW: PC/AT MENU 

Password protect your hard disk today! DOS 3.0 f 
3.1 hard disk manager. Allows you to create color 
menus to run any program or DOS command. 
Prevent hard disk erasure. Works with XT’s too. 
25 pg manual. Money back guarantee. PO’s & 
phone orders accepted. $39 + $3 shpg. 

Keller Software 
1825 Westcliff Drive 
Newport Beach, CA 92660 
714-642-5544 


Software/Services 


TAPE/DISK CONVERSIONS 

Conversion services to or from over 500 com¬ 
puter systems: 

• Magtapes 

• Micro Computers 

• Mini Computers 

• Word Processors 

• Typesetters 

Our conversion capabilities surpass most in the 
industry. 

Pivar Computing Services, Inc. 

165 Arlington Hgts. Rd.#T 
Buffalo Grove, IL 60089 
(312)459-6010 


Software/Statistics 


RATS! 

RATS is the ultimate econometric software 
package. It is powerful, fast, accurate, and in¬ 
expensive. RATS performs regression analysis, 
time-series forecasting (including Box-Jenkins) 
and cross-section (including logit and probit). 
RATS supports a variety of data formats, includ¬ 
ing Lotus WKS files. RATS also offers a pro¬ 
gramming language that provides maximum 
flexibility and power. Spectral analysis and 
graphics are available as options. Base pro¬ 
gram $200. Demo including 300 page manual 
$40. MC/VISA. 

VAR Econometrics 
P.O. Box 19334 
Minneapolis, MN 55419 
(612)822-9690 

ELF—THE STATISTICAL PKG. 

Interface with Dbase and Lotus files or will cre¬ 
ate its own. Factor analysis, stepwise regres¬ 
sion, discriminant analysis, 1&2 way anova 
crosstabs, correlations, t-test, frequencies, 
transformations.... unlimited observations, 500 
variables in database. All new and improved 
manual. 30-day examination. Call for more. 

The Winchendon Group, Inc. 

P.O. Box 10339 
Alexandria, VA 22310 
(703)960-2587 


Software/Terminal 

Emulation 


VT-102& 4010 EMULATION 

PC 102 turns an IBM PC/XT/AT/jr to a VT-102/ 
100/52 terminal with printer/file transfer sup¬ 
port. Optional: 132 col., 4010 graphics support. 
Guaranteed compatibility with all VT-100/52 
applications including EDT, WORD II, All-In-One, 
& UNIX. Easy to use. 3000+ sold. From $89. MC/ 
VISA/COD. Call for free package! Moneyback 
guarantee. 

General Micro Systems 
P.O. Box 5330 
Hopkins, MN 55343 
(612)944-0593 


Software/Utilities 


AT/XT/PC HARD DISK EXPANSION 

“Replace hard disk with a bigger one, or add a 
second drive! Vfeature BREAKS THE 33 MBYTE 
BARRIER on standard AT, XT, and compatible 
hard disk controllers. Includes multiple vol¬ 
umes, security features, selectable clusters, 
keyboard lock. $80-$120 + $3 shipping + CA 
Tax" 



Golden Bow Systems 
2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 

DISK MECHANIC 

THE ULTIMATE Floppy Disk Backup & Repair 
Utility. Can back up ALL software protected disks 
written on the IBM PC. Works manually or au¬ 
tomatically. Files or sectors can be restored, 
searched, examined & changed. Checks disk 
drive speed, req. IBM PC, XT, AT, DOS 1, 2, 3, 
192K + 64K if only 1 floppy drive. $73 ppd. USA 
MU MICROSYSTEMS 
PO BOX 825, Dept TB2 
Framingham, MA 01701 USA 
(617) 926-2055 for info MC/VISA 


HARD DISK DIRECT ACCESS™ 4.0 

The Ultimate Hard Disk Menu System. Orga¬ 
nizes your software programs into a “user de¬ 
fined" menu system. Features single key stroke 
access, time usage tracking, custom applica¬ 
tions, plus much more. Order toll free today. 30 
day money back guarantee. 


DELTA TECHNOLOGY 

Delta Technology International Inc. 

P.O. Box 1104 
Eva Claire, Wl 54702 
To order: 1-800-242-MENU 
For more info.: 715-832-0958 

TurboRef 

Pascal, programmers get organized with 
TurboRef! TurboRef will cross reference a source 
program and create a program listing. TurboRef 
can process a list of files, will read “include" files, 
identifies line number for each reference. Source 
code included, IBM PC, XT, AT or compatible, only 
$49.95; VISA, MC or check. 



RACON SERVICES, INC. 


Gracon Services, Inc. 

4632 Okemos Rd. 

Okemos, Ml 48864 
(517)349-4900 

RAMbak$9.95 

Never lose RAM disk files again. RAMbak auto¬ 
mates the saving of new or changed RAM disk 
files to floppy disks and/or hard disk subdirec¬ 
tories. RAMbak saves time, gives peace of mind. 
A new utility RAM disk users shouldn’t be with¬ 
out. PC, XT, AT compatibles with 128K, DOS 2.0+. 
Only $9.95 MN res.+6% 



Software 

Brewing 

Company 


Software Brewing Company 
P.O. Box 12094 
St. Paul, MN 55112 
(612)636-2727 


CHARACTER CUSTOMIZATION 

CHARGENI works with the IBM EGA to let you 
modify the character set, allowing many word 
processors to display technical material, equa¬ 
tions or other special characters. Also works on 
the Color/Graphics Adapter in graphics modes. 
Requres DOS 2.x or 3.x, IBM Standard or 
Enhanced Graphics Adapter. $25 + $2 s/h (MN 
add 6%). 

DK Micro Consultants 
P.O. Box 6714 
Minneapolis, MN 55406 
(612)722-0931 


Directory extended 

THE MOST POWERFUL directory display and file 
management tool! Multiple in- and exclusion 
patterns; multiple wildcards. Generate batch files; 
file search; flexible sorting; list directories; transfer 
test; date/time/size ranges; delete or check¬ 
sum, files; set any attributes; MUCH MORE. Send 
$25 + $5 p&h-money back guar, (in TX w/tax 
$31.84) to: 

Robert K. Blaine/ECONO-SOFT Dept T63 
9200 North Plaza #1906 
Austin, TX 78753 


NEW...TURBO PACKAGE 

• Break the 64K Turbo Pascal barrier. You may 
never need to convert to MODULA 2. 

• Load 500K of resident Turbo Pascal code and 
call it from a Turbo Pascal program. This pre¬ 
compiler makes Turbo Pascal short calls into long 
calls. It is a thousand times faster than chaining 
or overlaying. 

• Turbo Package will be available for $39.95 
Turbo Package documentation for $5.00. The first 
100 respondents who send their name, ad¬ 
dress, phone number, and $5.00 will also get a 
free preview diskette with all the Turbo Package 
software. 

CONVERSATIONAL COMPUTER SYSTEMS 
5371 VERBENA RD. 

SAN ANTONIO, TX 78240 

C + ASM + dBASE = dUNK 

Finally! with the dLlNK system, any number of 
Lattice C and MASM functions can be called di¬ 
rectly from dBASE II, using natural c syntax to 
pass arguments (incl. pointers, constants, all 
types of variables) Complete system is elegant, 
lightning fast, and flexible. Req. 256K, dBASE II 
v2.4+, DOS 2.0+$69 ppd. 

St. Elias Software 
4012 Ashworth Avenue North 
Seattle, WA 98103 
(206)632-4049 

MenuWorks™ $25 

Using a PC becomes as easy as turning it on: 
Start up all programs from menu. Customize 
selection screen. Just Tab & Enter to Run. 
Prompts for input if needed. Super slick editor 
to set up menu; easy to change. Fast. Full screen, 
windows, help, 196K, color/mono, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

dirWorks™ $25 

PC users: avoid DOS drudgery! Complete disk 
mgt made simple: copy, erase, rename, format, 
all directory commands and TONS more. Mul¬ 
tiple file & directory operations, Sorts display by 
time, date & alpha. Edit files without going to 
DOS. Full screen, windows, help. Fast, 196K, 
color/mono, novice & expert mode, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software 
211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

JetWorks™ $25 

Attention HP LaserJet users: Control LaserJet & 
forget escape sequences forever. Full menu and 
window selection for all options & cartridges. 
Creates batch files to avoid repetitive setups. 
Prefab font files for all current cartridges. Full 
screen, windows, help, fast & simple, 196K, 
color/mono, 30 day $back guarantee, $25 chk/ 
VISA/MC. 

Keep It Simple Software, Inc. 

New York, NY 10017 
(800)848-8909 


MAY 1986 


217 
























TECH BOOK 


PC-COMPANION 

Menu subsystem, a must for any PC with a hard 
disk supporting multiple applications or users. 
Single key stroke execution of software. 15 en¬ 
tries per menu. Set drive, path, directory, printer. 
Password access to menus. Supports all types 
of command execution Command logging. 
Screen colors definable. Written in assembler for 
rapid access. Requires 32k MSDOS/PCDOS 2.0 
or higher. $39.95 (TX resident add 6.125% tax). 
BINARY ENGINEERING 
12841 Jones Rd. Suite 101 
Houston, TX 77070 
(713)995-3770 VISA/MC 

TallScreen—DOS POWER 

Natural extension of DOS. Scroll back through 
screen output, edit text on full screen, mark blocks 
to printer or file, recall commands & directories, 
enter multiple commands, capture screens from 
application programs, create user profiles. Solid 
tech support. A real bargain at $49.95 
VISA/MC 



QUALITAS 

Qualitas, Inc. 

8314 Thoreau Drive 
Bethesda.MD 20817 
(301)369-8848 


EXTENDED FILE UTILITIES 

Replace MS-DOS COPY, DELETE, RENAME with 
these fast, powerful utilities (DOS 2.0 or later). 
File lists with commas, optional confirmation 
querying, access to hidden/system files, ASCII¬ 
mode copying. Just $15 + $1.95 s/h (MA res. 
add .75 tax), MC/VISAOK. 

Pocumtuck Valley Software 
P.O. Box 156-A 
South Deerfield, MA 01373 

EFFICIENT DOS 

PCED: Use DOS more efficiently without menus, 
batch files, keyboard enhances. Command edi¬ 
tor with recall; synonyms execute one or many 
commands with batch-style variables; auto¬ 
matic parameter recall; command logging; 
MUCH more. Very flexible. Recommended by 
Doctor Dobbs and CPCUG. $45 plus $4 s/h; 
VISA/MC. 

The Cove Software Group 
P.O. Box 1072 
Columbia, MD 21044 
(301)992-9371 

CONCURRENT DOS BACKUP 

BackPack™ runs like BACKUP/RESTORE and 
supports DOS and CP/M media as well as users. 
Backs up and restores up to lOOOK/min. on an 
AT and 360K/min. on an XT. Supports release 
4.1. Also available on CP/M-80 and CP/M plus. 
$150.' 

Bright Light, Inc. 

520 Fellowship Rd. #C301 
Mt. Laurel, NJ 08054 
(609)778-0772 


Software/Word 

Processing 


FORMATH™ TEXT-FORMATTER 

For technical texts. Sizes & places equations, 
matrices, ratios, integrals, big symbols, foot¬ 
notes. Macros, multiple fonts, 158 Greek/math 
symbols. Automatic hyphenation, section/ 
equation/reference numbering, indexes, table of 
contents. Dot-matrix, daisywheel, laser printers, 
plain/graphics monitors. $400. $50 for demo. 



SHANTHA SOFTWARE, INC. 

50 West 97th St. Room 11N 
New York City 10025 
212-222-7647 

Touch-tone Toll-free: 950-1088-wait-FORMATH 



REPRINTS 

AVAILABLE 


Quantity reprints of articles appearing 
in PC Tech Journal are available and 
will be prepared to meet any special 
requirements. Inquiries should be 
directed to Eileen Pfeiffer, Reprints 
Dept.. Ziff-Davis Publishing Co.. IFbrk 
Ave.. New York. New York 
Phone 212-503-5447. 


10016. 

TE@H 

JOURNAL 




| INDEX TO ADVERTISERS 

PC TECH JOURNAL MAY 1986 1 


READER 

SERVICE NUMBER ADVERTISER PAGE 


READER 

SERVICE NUMBER ADVERTISER PAGE 


READER 

SERVICE NUMBER ADVERTISER PAGE 


116 

106 

109 

101 

214 

200 

136 

206 

134 

135 
203 
249 


114 

252 

251 

247 

161 

159 


217 

111 

156 

121 

139 

140 
227 
245 
102 
179 


103 
118 
215 

104 

212 

131 

170 

107 
158 
133 

119 

108 
163 


122 

110 

105 

113 


Advanced Logic Research.Cover 3 

Alcyon Corp...202 

Aldebaran Laboratories, Inc. 169 

Alpha Computer Service...-180 

Answer Software.. 22 

Applied Reasoning.58 

Arity Corporation.—.151 

Array Technologies, Inc.....—78 

AshtonTate ....-...68 

AshtonTate.—.90-91 

Atron........10 

Atron..........173 

Blaise Computing, Inc... 145 

Borland International... 39 

Borland International.37 

Bourbaki, Inc...:. 14 

Brady Communications Company, Inc.141 

Brady Computer Books. 163 

C-Warc Corporation.....-186 

CXI, Inc. -.109 

Catamount Corp.-.204 

Cauzin Systems, Inc.8-9 

Central Point Software, Inc. 148 

Chalcedony Software...».195 

Chalcedony Software.-.197 

Command Technology Corp.150 

Communications Research Group.142 

Comtel.—.188 

CORE International.-.-.98 

Creative Programming Consultants.—.186 

DTSS, Inc.-.160 

Data Access Corp.62 

Data Base Decisions.-.5 

Dynamus Micro-Data Systems, Inc.—.155 

Earth Computers.—.—.—171 

Ecosoft, Inc.-.138 

Ellis Computing. 137 

Emerald Systems Corp...-.114 

Entelekon.-.108 

Everest Solutions, Inc. 149 

FairCom.. 130 

Fifth Generation Systems.-.15 

Floppy Disk Services, Inc.140 

Gimpel Software.. 158 

Gimpel Software.. 179 

Gold Hill Computers.102 

Golden Bow Systems...205 

Greenlcaf Software.174 

HavenTree Software Limited.. 172 


155 

248 

202 

149 

132 

216 

209 

117 

112 

128 

160 

125 

138 

144 

229 


172 

146 


141 

208 

188 

211 

* 


167 


166 


222 

142 

185 


171 

241 

145 

230 

180 

150 

154 

159 

161 

175 

220 

162 

151 


177 

147 


Hayes Microcomputer Products, Inc. 

IRM CYirp 

.20 

44-45 

I-Bus Systems . 

:::^75 

IBEX Computer Corp. 


IMPACC Associates Inc 

154 

Intel Corp. 

.72-73 

Interactive Microware, Inc. 

.199 

Intercontinental Micro Systems.. 

.117 

KADAK Products Ltd. 

.204 

Lahey Computer Systems, Inc. 

.82 

Lattice, Inc..—... 

.125 

LcBlond Software.. 

.18 

t FXIM Tradino (I ISAT Inc. 

204 

1 IcCA/'i'lfPC AO 

LOGITECH, Inc. ZZ..ZZZ1ZZZZZZZ . 

ZZioi 

mbp Software and Systems Technology, Inc. 

MDS Inc. 

.183 

..176 

McGraw-Hill Continuing Education Center. 

MEGA-OMEGA Systems. 

.33-35 

.48 

Manx Software Systems. 

Meridian Technology. 

.40 

.86 

Micro Data Base Systems Inc . 

.116 

Mirrnrim ... 

.164-165 

Microsoft. 

.28 

Microsoft . 

.127 

Microstnf Inc . 

Cover 4 

Microtec Research . 

.136 

Novell Inc . 

.6-7 

Opt-Tech Data Processing. 

.4 

Orchid Technology. 

.13 

Overland Data Inc. 

206 

PC. Rrand . 

.110-111 

PC Technologies Inc. 

.128 

PC’s Limited . 

.131-133 

Paradise Systems. 

.24-25 

Pecan Software Systems, Inc. 

.123 

Peter Norton. 

.192 

PLOTWORKS Inc . 

.185 

Prentice-Hall Books. 

.163 

Prentice-Hall Books. 

.141 

Programmer’s Connection. 

Programmer’s Shop. 

Programmer’s Shop. 

.49-51 

.46 

.26 

Programmer’s Shop. 

.27 



Qua Tech Inc. 

.194 

Quadram Corp. 

.84 


v 

239 

157 

181 

165 

143 

174 

228 

187 

124 

164 

201 

198 

199 

192 

127 

196 

168 

173 

130 

126 

129 

123 

176 

190 

242 

183 

204 


231 


Quaid Software Limited . 

.157 

Quantum Software Systems Ltd. 

.88 

Rainbow Technologies, Inc... 

.194 

Rational Systems, Inc..... 

.120 

Real Time Devices, Inc. 

Relational Database Systems, Inc. 

Rvan-McFarland . 

.206 

.124 

162 

Qchnllcr As Accnciofpc 1Q^ 

Scientific Endeavors. 

::::::::: 204 

Seattle Telecom & Data, Inc... 

SofCap, Inc. 

.189 

.129 

SoftCraft.....„. 

. 2 

SoftLogic Solutions. 

.119 

So ft Logic Solutions....... 

.121 

Software Bottling Company of NY . 

Software of the Future. 

Software Link, Inc. 

.19 

.182 

. 200 

Software Masters....... 

‘software .Security Inc . 

.161 

.21 

Onlnfinn Cvctpmc 17fl 

Solution Systems. 

.187 

Solution Systems.—... 

.187 

Solution Systems . 

.16 

SOPHCO. 

.135 

Speedware. 

.198 

Spruce Technology Corp . 

.198 

Sterling Castle. 

.134 

Strawberry Tree Computers. 

.203 

Summit Software Technology, Inc. 

Sunny Hill Software. 

.96 

.181 

Systems and Software.— 

208 


186 

237 
236 

238 
197 
194 
184 
240 
178 
182 
189 
191 
193 


221 

148 


3Com... 


42-43 


TLM Systems....—.103 

TLM Systems----105 

TLM Systems.—..107 

Tall Tree Systems...Cover 2 

Tall Tree Systems.139 


Tangent Technologies. 

Tech PC. 

.184 

.70 

Thompson Automation. 

.178 

Tiara Computer Systems, Inc. 

.104 

Trailridge Research Inc. 

.152 

True BASIC, Inc. 

.147 

Turbo Power Software. 

.156 

Vermont Creative Software. 

.23 

Wizard Systems Software, Inc. 

.206 

Zanthe Information, Inc. 

.1 


218 








































































































































































































MAY 

May 1 

Spring COMDEX 
Atlanta, GA 

Sponsor: The Interface 
Group 

Contact: Linda Yogel, Regi¬ 
stration Department, 300 
First Avenue, Needham, MA 
02194; 617/449-6600 

May 11-15 

International Small/Micro¬ 
computer Conference 
Washington, DC 

Sponsor: IEEE-CS 
Contact: IEEE-CS, 1730 
Massachusetts Avenue N.W., 
Washington, DC 20036- 
1903; 202/371-0101 

May 11-15 

Computer Graphics ’86 
Anaheim, CA 

Contact: National Computer 
Graphics Association, 2722 
Merrilee Drive, Suite 200, 
Fairfax, VA 22031; 
703/698-9600 

May 13-15 

Computer Standards 
Conference 1986 
San Francisco, CA 

Sponsor: IEEE-CS 
Contact: R. Poston, PEI, 68 
Monmouth Road, Oakhurst, 
NJ 07755; 201/571-1071 

May 28-30 

18th Annual ACM SIGACT 
Symposium on Theory 
of Computing 
Berkeley, CA 

Sponsor: Association for 
Computing Machinery 
Contact: Eugene L. Lawler, 
Computer Science Division, 


Evans Hall, University of Cal¬ 
ifornia at Berkeley, Berkeley, 
CA 94720; 415/642-4019 


JUNE 

June 3-5 

13th International 
Symposium on Computer 
Architecture 
Tokyo, Japan 

Sponsor: Information Pro¬ 
cessing Society of Japan 
Contact: Shunichi Uchida, 

I COT, Mita Kokusai 
Building 2IF, 4-28 Mita 
1-Chome, Minato-ku, 

Tokyo 108, Japan 

June 4-6 

National Educational 
Computing Conference 
San Diego, CA 

Sponsor: ACM, IEEE, SCS 
Contact: Susan M. Zgliczyn- 
ski, University of San Diego, 
School of Education, Alcala 
Park, San Diego, CA 92110 

June 12-13 

Distributed Information 
Systems 

Gaithersburg, MD 

Sponsor: ACM and the 
United States Department of 
Commerce 

Contact: National Bureau of 
Standards;Gaithersburg, MD 
20899; 301/964-6508 

June 16-19 
National Computer 
Conference 
Las Vegas, NV 

Sponsor: AFIPS, ACM, IEEE- 
CS, DPMA, and SCS 
Contact: AFIPS, 1899 Preston 
White Drive, Reston, VA 
22091; 703/620-8900 


June 22-25 

23rd Design Automation 

Conference 

Las Vegas, NV 

Sponsor: ACM SIGDA 
and IEEE-CS 

Contact: J. D. Nash, Raytheon 
Company, Bedford, MA 
01730; 617/274-7100, 
ext. 4758 

June 22-26 

Computer Vision and 
Pattern Recognition 
Miami Beach, FL 

Contact: Computer Vision 
and Pattern Recognition, 

1730 Massachusetts Avenue 
NW, Washington, DC 20036- 
1903; 202/371-0101 

June 22-August 1 

National Computer Camps 
CT, OH, GA 

Contact: National Computer 
Camps, Box 585-CA, Orange, 
CT 06477; 203/795-9667 

June 23-27 

Compiler Construction 
Palo Alto, CA 

Sponsor: Association for 
Computing Machinery 
Contact: ACM 11 W. 42nd 
Street, New York NY 10036; 
212/575-1520 


JULY 

July 7-11 

APL 86 

Manchester, England 

Sponsor: British Computer 
Society and ACM SIGAPL 
Contact: BISL Conference 
Department, The British 
Computer Society, 

13 Mansfield Street, London 
W1M OBP, England 


July 9-11 
PC EXPO 
New York, NY 

Contact: 333 Sylvan Avenue, 
Englewood Cliffs, NJ 07632; 
201/569-8542 

July 21-25 

European Conference on 
Artificial Intelligence 
Brighton, U.K. 

Sponsor: The Society for the 
Study of Artificial Intelligence 
and Simulation Behavior 
Contact: Benedict du Boulay, 
ECAI, The University of 
Sussex, Cognitive Studies 
Programme, Brighton 
BN1 9QN, UK. 

July 21-26 

Third International 
Conference on Logic 
Programming 
London, England 

Contact: Doug DeGroot, IBM 
Research, P.O. Box 218, 
Yorktown Heights, NY 10598 


AUGUST 

August 5-7 

ACM SIGCOMM Futures 
in Communications 
Conference 
Stowe, VT 

Sponsor: ACM SIGCOMM 
Contact: Walter' Kosinsky, 
Norwich University, 
Northfield, VT 05663; 
802/485-5011, ext. 237 

August 18-22 

ACM SIGGRAPH 86 
Dallas, TX 

Contact: Ellen Gore, ISSCO, 
10505 Sorrento Valley Road, 
San Diego, CA 92121; 
619/452-0170 


MAY 1986 


219 


ILLUSTRATION • DAVID POVILAITIS 

















































for one or more users 


Large 

Data Bases 


Now! Performance for PC Networks 
formerly only available on main¬ 
frames! The PCMS™ Personal 
Computer Mass Storage Subsystem 
is a fully integrated storage system 
designed to provide mainframe 
speed, reliability, and access for 
multiple users. 

The PCMS system offers: 

• Large mass storage—150/300, 
250/500, and 411/822 MB 
formatted (up to 6 gigabytes). 

• MS™/PC™ DOS and IBM-PC™ 
compatibility—virtually all stan¬ 
dard MS/PC DOS programs 
perform on PCMS without 
modification. 

• Multi-user network—fully com¬ 
patible with 3-COM,™ Novell,™ 
DNA,™ Gateway™ IBM-PC Net,™ 
and others. 

• Fault tolerant configurations— 
three levels of redundancy 
available. 

• Fast, high capacity streaming 
tape backup—using technology 
developed for minis and main¬ 
frames, PCMS can backup 150 
MB per removable reel in 30 
minutes, enough for the largest 
storage configuration. 

• Remote diagnostics— complete 
remote trouble-shooting capabil¬ 
ities in additon to its diagnostic 
software. 


PCMS Multiplies Your 
Capabilities 

PCMS offers virtually unlim¬ 
ited mass storage and multi-user 
accessibility designed for: 

• Large data bases 

• Graphics applications 

• Mega-word processing 

• Your mass storage application 
This system offers faster seek 

times, higher transfer rates, and 
optimized system throughout 
utilizing enhanced SMD technol¬ 
ogy. .. in storage capacities of 150 
MB (formatted) and greater. 

There's More. PCMS lets you 
change your mind by providing 
dynamic disk management. 
Partitions can be reallocated. 

You can even have MS DOS, 
Venix,™ and Novell partitions on 
the same disk. 

Software allows public, private 
and shared user access to large 
amounts of data with these pluses: 
fast access speed for efficiency and 
volume password protection for 
maximum security. PCMS is not 
limited by the 32 MB file restrictions 
of MS DOS. Files can be as large as 
the disk. 

Get the whole story on the PCMS 
today. Ask for our free primer. Call 
or write RACET Computes, Ltd., 
1855 W. Katella Ave., Orange, 
California 92667, (714) 997-4950 
TLX 701160 (RACET UD). 

MS DOS is a trademark of Microsoft Corporation _ 

IBM-PC Net PC DOS and IBM-PC are tridemarks of IBM Corporation 
3-COM is a trademark of 3-Com Corporation 
Novell is a trademark of Novell Inc. 

DNA is a trademark of Network Development Corporation 
Gateway is a trademark of Gateway Communication. Inc. 

Venix is a trademark of Vfenturecon. Inc. 


RACET Creates Custom 
Solutions for Resellers 


Whether you use a single PC or a 
full fault tolerant system, RACET 
can customize the PCMS configura¬ 
tion for your needs. PCMS is based 
on mainframe and mini-computer 
technology.. .providing field proven 
high reliability for the commercial 
environment. PCMS takes over 
where conventional data storage 
sub-systems leave off. 


Graphics 

Applications 


RACET 


CIRCLE NO. 218 ON READER SERVICE CARD 








































WE DON’T 
THINK YOUR 
PERFORMANCE 
SHOULD BE 
LIMITED 
BY THE 
‘STANDARD’ 


At ALR we don’t think your performance should be 
limited by the ‘Standard’. So preoccupied are today’s 
computer makers with meeting the ‘Standard’, they 
seem to have overlooked the opportunity to do 
something much more worthwhile. 

Namely, the concept of improvement beyond that 
‘Standard’ acceptable level. 

Examine the DART. The first CAD computer with a super 
high performance AT™ Compatible. The DART system 
is powered by a 10 MHz 80286 cpu with support for 
an 8 MHz 80287 math co-processor, when compared 
to the IBM® AT’s 6 MHz cpu and 4 MHz co-processor, 
the DART system will process your next CAD design 
in almost half the time, with DIRECT ACCESS 
RESPONSE TIME (DART). 


Explore the opportunity of the System 286 - The first 
high speed AT below the price of an IBM XT™. The 
low cost of this system did not reduce the performance, 
with the cpu speed of 8 MHz and co-processor speed 
of 5 MHz. This System 286 is ready to calculate spread 
sheets and sort data base in a flash! 


$ 


4K 
3K - 
2K - 
IK - 
0 


3995 


1995 


2495 


Computer 
Performance 
Ratio* to 
IBM PC/XT 
(IBM PC/XT 
= 1 . 0 ) 


10 - 


5.0- 

2.5- 

1 . 0 - 


5.7 


77 


10.3 


IBM 

PC/AT 


ALR 

SYSTEM 

286 


ALR 

DART 


IBM ALR ALR 

PC/AT SYSTEM DART 

286 

'Based on the Norton Utility Si-System Information Command. 


The concept of having enough memory is misleading. 

It seems yesterday’s 64K of memory was enough. 
Today, computers require at least 512K in order to run 
popular programs such as Symphonyor Framework™ 
The result? ALR System 286 and DART system both 
have four times the memory capability built into its 
‘motherboard’ so you don’t have to pay for it tomorrow. 


System 

2MB- 

Board 

- 

Memory 

1MEG- 


.5MB- 
.2 5MB- 


dl Standard 


Optional 


IBM 

PC/AT 


ALR ALR 

SYSTEM DART 

286 


Option I/O device? That usually implies you need it and 
it costs more. ALR believes a computer needs to 
interface with at least a printer and in most cases 
modems, plotters and other computers, so we design 
our systems to include more standard I/O. 


6 - 


Standard 

I/O 

Devices 


Clock 

Calendar 


1.2 MB 
Floppy 



Printer 

Port 

Printer 


Serial 

Port 


Port 2 

Serial 


Serial 

Port 1 


Port 1 

Clock 


Clock 

Calendar 


Calendar 

1.2 MB 


1.2 MB 

Floppy 


Floppy 


IBM 

PC/AT 


ALR 

SYSTEM 

286 


ALR 

DART 


High performance and more features usually results 
in a more expensive system. However, the ALR System 
286 and DART system does not match the ‘Standard’ 
price and this is one category we’re glad to be con¬ 
sidered ‘sub-standard’. 

Let one of our sales engineers or dealers show you 
the ALR System 286, DART system, Turbo XT and AT 
Hirise IBM compatible systems that are designed to 
limit your cost not your standard of performance. 

ADVANCED LOGIC RESEARCH, INC. 
2991 E. WHITE STAR AVE. 

ANAHEIM, CA 92806 
(714) 666-2951 


Aia 


ENGINEERING ADVANCED COMPUTERS 


IBM® is a registered trademark of International Business Machines Corporation. IBM PC/AT and IBM PC/XT are registered trademarks of International Business Machines Corporation. 


CIRCLE NO. 116 ON READER SERVICE CARD 


























































EXTEND 

YOUR 

COMPUTING 

POWER 


Remote lets you run almost any program, from any location, sis if yon were there. 


Remote is the software that turns your personal computer in¬ 
to a host computer. You or anyone you choose can dial it up 
from almost any terminal in almost any location, and run most 
popular application programs such as word processing, spread¬ 
sheets, and data base managers. 

You’ll see the program on your remote terminal screen as if 
you were seated at the host PC. 

While Remote itself becomes transparent in use, it offers 
some very tangible benefits: 

• You don’t need a second PC to do the job of two. Almost any 
terminal or terminal emulator will do. The only software you 
need is the software in your host PC. 


• Each of several different users can call in from anywhere in 
the world and use the host PC and software. Remote includes a 
sophisticated electronic mail system with encrypted messages 
and individual password protection. 

• You can transfer files to and from the host computer, using 
the Crosstalk or XMODEM protocol. 

• Programmers and software vendors can use Remote to debug 
a client’s software by phone, without leaving their own offices. 

Imagine the potential Remote has in extending the power of 
your own PC. Ask your dealer about it, or write for details. 


CROSSTALK and MICROSTUF are registered trademarks of Microstuf, Inc. 
REMOTE is a trademark of Microstuf, Inc. 


REMm 


ImicrostufT 

1000 Holcomb Woods Parkway 
Roswell, Georgia 30076 


CIRCLE NO. 167 ON READER SERVICE CARD